题解day 16 lt

CF908D New Year and Arbitrary Arrangement 题解

New Year and Arbitrary Arrangement 思路: 期望题果然还是恶心呀! 我们设 \(f[i][j]\) 表示当串中有 \(i\) 个 \(a\) 和 \(j\) 个 \(ab\) 时的方案数。为了方便,设 \(A=\dfrac{P_a}{P_a+P_b},B=\dfra ......
题解 Arrangement Arbitrary 908D Year

洛谷P3118 [USACO15JAN] Moovie Mooving G 题解

Moovie Mooving G 设 \(f[i][S]\) 表示在第 \(i\) 场(注意是场,不是部)电影时,已经看了 \(S\) 里面的电影是否合法。 然后贪心地取 \(|S|\) 最小的状态保存。光荣 MLE 了, \(21\%\)。 发现当一场电影结束后,无论这一场是在哪里看的都没关系。 ......
题解 Mooving Moovie P3118 USACO

题解 AtCoder wtf22_day1_b【Non-Overlapping Swaps】

给定一个排列,要求交换最多 $n-1$ 对元素,使得这个排列变成 [1,2,...,n] 的有序排列。 当然没有那么简单,对于交换还是有限制的,对于相邻的两次交换,不妨叫做 $(l_i, r_i)$ 和 $(l_{i+1}, r_{i+1})$,必须满足**这两个交换所对应的区间,没有交集**,即... ......

day01-java流程控制

用户交互Scanner java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用户的输入。 Scanner s = new Scanner(System.in);​//通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需 ......
流程 java day 01

【noip赛前20天冲刺集训 day4】正在出模拟赛

题目描述 想象学竞赛网站 CodeFancy 举办了 \(m\) 场比赛。你在 CodeFancy 上关注了 \(n\) 个账号,编号为 \(1\) 到 \(n\)。你知道这 \(n\) 个账号分别参加了 \(m\) 场比赛中的哪些。但是你发现可能存在一个人使用多个账号的情况,你想知道这 \(n\) ......
模拟赛 正在 noip day4 day

题解 CF486D Valid Sets

题目链接 相当牛逼。 这种找数量的题型,确定树形 \(dp\) 没跑了。 首先思考常规树形 \(dp\),不难想到设 \(f_{u,a,b}\) 表示以 \(u\) 为根节点的子树内(包括点 \(u\)),最大值是 \(a\),最小值是 \(b\) 的连通子图数量,转移很容易,但是这样时间空间复杂度 ......
题解 Valid 486D Sets 486

LeetCode Day02 977&209&59

第一题是[977. 有序数组的平方]这题解题思路依旧可以用双指针,指针分别指向数组的头尾两端,然后对两端求乘积比较大小,把乘积值更大的存储到数组尾端,然后指针更新位置,代码如下。 public int[] sortedSquares(int[] nums) { //res用于存储平方和结果 int[ ......
amp LeetCode Day 977 209

LeetCode Day01 704. & 27.

###### [704. Binary Search](https://leetcode.cn/problems/binary-search/)入门必备二分查找了。必须是在一堆**有序的**数组中找到其中特定某个val值。###### 二分算法的思路:*首先取一个基准值,这个值我们一般取数组的中间位 ......
LeetCode Day 704 amp 01

原创题题解

实时更新。 众所周知的,原创题就是即原神又创人的题。 当然有的题不会放,等考了在放。 波特 问题描述 流水线上有 \(n\) 个波特,每个波特有一个工作效能 \(a_i\) 。对于每一个波特,当它遇到一个工件时,它会对其进行加工,耗费 \(1\) 个单位时间,然后把它传递给它前面中工作效能最大的波特 ......
题解

NOI2021 庆典题解

又是一道锻炼代码能力的题目。 首先遇到这种求经过多少个节点的题可以先缩点,然后我们考虑那个特殊限制怎么用。 如果对于两个强联通分量 \(x\) 能到 \(z\),\(y\) 能到 \(z\),则 \(x,y\) 之间一定有一个限制,假设这个限制是 \(x\) 能到 \(y\),那么我们可以只记录 \ ......
题解 庆典 2021 NOI

[AGC003D] Anticube题解

首先对每个数分解只因数,然后把只因数的指数对3取模,把 \(s\) 划分成多个等价类。对于每一个等价类,有唯一对应的另一个等价类不能同时选,取最多的即可。 分解只因数用 polard's rho 算法,时间复杂度 \(O(nw^{0.25})\) code: #include<bits/stdc++ ......
题解 Anticube 003D AGC 003

[AGC002D] Stamp Rally 题解

整体二分板题 首先瑞平翻译。 考虑整体二分,用分治函数 solve(l,r,L,R) 解决答案在 \([L,R]\) 之间的边。每次我们加入所有 \([1,MID]\) 之间的边,查询这时的询问是否满足要求,进行整体二分即可。 由于多次加入边比较麻烦,我们用可撤销并查集维护。 时间复杂度 \(O(n ......
题解 Stamp Rally 002D AGC

[AGC001E] BBQ Hard 题解

一道十分有趣的题。 一眼推式子,发现自己不会。 看了题解,发现是有趣思维题。但是由于我的朋友学习了有趣的思维题做法,因此我决定学习更有趣的生成函数做法!!! 考虑把原式拆开, \[\frac{1}{2}\times \left( \sum_{i=1}^{n}\sum_{j=1}^{n} \binom ......
题解 001E Hard AGC 001

P5934 [清华集训2012]最小生成树 题解

考虑 kruskal 算法的过程。 先将边按边权排序,考虑当加入 \((u,v)\) 时只有 \((u,v)\) 不联通才可能使得其出现在最小生成树中,所以对于所有的边权小于 \(L\) 的边,我们希望去除尽可能少的边使得 \((u,v)\) 不联通。这显然是一个网络流模型。对于每一条边 \((x, ......
题解 P5934 5934 2012

[AGC001D] Arrays and Palindrome 题解

非常有意思的思维题。 首先我先瑞平一下翻译,我根本没看懂,还是去看英文题面看懂的。 首先可以发现整个字符串被拆成了若干个奇回文串与偶回文串。现考虑如何判是否合法。可以发现一个回文串就是要求部分位置匹配。我们对这些匹配的位置建边,如果得到的图是联通的,那么就只能填入 \(1\) 种字符,否则就可以填入 ......
题解 Palindrome Arrays 001D AGC

#9134. 翻转硬币 题解

首先考虑一些简单的情况,比如 \(m=1\)。 容易发现操作 1 和操作 2 的顺序不会影响结果,于是可以钦定所有操作 1 在操作 2 之前。并且可以发现,进行完所有 1 后 2 的次数即为 \((\text{连续段个数}-1)\)。 然后考虑将 \(m>1\) 的情况。显然最后序列上每 \(m\) ......
题解 硬币 9134

day01--Java基础

变量 常量 作用域 变量 变量就是可以变化的量。--》通过变量操作内存中的数据 JAVA是强类型语言,每个变量就必须声明类型 确定。 JAVA变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。 type varName [=value] [{,varName[=value]}]; / ......
基础 Java day 01

AsyncTask<>

目前我用到的场景是需要异步执行的操作 例如,任务开始前,弹出dialog,并且显示进度条 任务中,更新进度条 任务结束时,关闭进度条。 但是这个类已经被弃用了,但是很好用 哈哈哈哈 模板参数 AsyncTask<Params, Progress, Result>**是一个抽象类,通常用于被继承. 继 ......
AsyncTask lt gt

struct.error: 'H' format requires 0 <= number <= 65535

全部代码如下: from pymodbus.client import ModbusTcpClient # 避坑:write_registers和write_register函数差一个s。多一个s的参数用整型列表,没有的只能用整型 def split_float_to_integer_and_fra ......
requires struct format number error

DAY 256 如何防止循环导入

防止循环导入是编程中的常见问题,特别是在使用模块化的编程语言中。以下是一些方法来避免循环导入: 1. **重构代码**:重新组织你的代码,将重要的功能放在单独的模块中,以减少模块之间的相互依赖。 2. **使用导入语句**:在需要的时候才在函数内导入模块,而不是在模块的顶部导入。这样可以减少模块之间 ......
DAY 256

2023_10_12_MYSQL_DAY_04_笔记

2023_10_12_MYSQL_DAY_04_笔记 14章课后作业 CREATE TABLE xi( xid INT PRIMARY KEY AUTO_INCREMENT, xname VARCHAR(10) UNIQUE, xhead VARCHAR(10) NOT NULL, xloc VAR ......
MYSQL_DAY 笔记 MYSQL 2023 DAY

[CF1098E] Fedya the Potter 题解

[CF1098E] Fedya the Potter 题解 前言 一道类欧好题。 题解 这道题让求 \(c\) 数组的中位数,那么有一个比较套路的方法就是二分答案 \(mid\) 然后计算 \(b\) 数组中区间和小于 \(mid\) 的区间个数进行 \(check\)。但是 \(b\) 数组总共有 ......
题解 Potter 1098E Fedya 1098

【noip赛前20天冲刺集训 day3】矩阵挑战

NOIP比赛前的冲刺训练 - 第3天:矩阵挑战 问题描述 您有一个 n×m 矩阵,行编号从 0 到 n−1,列编号从 0 到 m−1。最初,第i行第j列的元素是 i*m+j。系统支持三种类型的操作: 交换两行。 交换两列。 交换两个特定的元素。 任务是确定执行 q 次操作后矩阵的状态。 输入格式 为 ......
矩阵 noip day3 day

noip赛前20天冲刺集训 day2 ###寻找有向图中的最小疲惫路径###

T1 ###寻找有向图中的最小疲惫路径### 题目描述 有一张 n 个点 m 条边的有向图,每条边上有一个正整数边权,你要顺着图上的有向边从 1 号点走到 n 号点。 假设你经过的边边权依次为 (w_1, w_2, \dots, w_t),则你的疲惫程度为 \[\ f(w) =\max_{i=1}^ ......
有向图 路径 noip day2 day

算法练习Day1 二分法与快慢指针

Day1 二分查找两种写法和快慢指针 //左闭右闭的情况,也是我最喜欢的一种写法,可能是因为比较对称 一个mid+1 一个mid—1 直接写就行,要注意左闭右闭和左闭右开的区别class Solution {public: int search(vector<int>& nums, int targ ......
二分法 快慢 指针 算法 Day1

软件测试面试day20231010你今天学了几个小时

软件测试面试day20231010邮储银行。题目面完就百度查是怎么回事?让我想起了,之前读书,考完试,就查试卷的题目不会应该怎么写,去订正。不断完善改进。做好自己对自己可以做好的事情。 专心做好一件事情就可以了。术业有专攻。 一个男生自己可以做的事情 ,偏要女生做,这个男的心胸太狭隘,不行。能和一个 ......
软件测试 20231010 小时 软件 day

【日常收支账本】【Day05】编辑账本界面增加删除、更新记录功能——提高代码复用性

一、项目地址 https://github.com/LinFeng-BingYi/DailyAccountBook 二、新增 1. 增加删除记录功能 1.1 功能详述 点击删除按钮后,获取对应行的数据组成字典,用字典的键值对匹配到对应日期的记录元素; 接着用该字典数据冲正存款账户余额(实现思路为新增 ......
账本 收支 界面 代码 功能

CF882E1+CF1882E2 Two Permutations 题解-构造题

CF882E1+CF1882E2 Two Permutations 题解-构造题 哇,人类智慧,太智慧了。。。 此题作为20231010联考的 T3。 感觉赛时根本没有去往这方面想。 CF1882E1 CF1882E2 E1 是简单版,就是没有要求操作数最小化。 E1-Easy Version 方法 ......
题解 Permutations CF 1882 882

[ABC245G] Foreign Friends 题解

[ABC245G] Foreign Friends 题解 想法 考虑所有颜色相同的弱化版。 这种情况下,只需要把所有特殊点都推入队列之后跑多源 Dijkstra 即可。 思路 正解与上述做法大致相同。 如果有颜色限制,那么可以考虑这个神仙思路: 把所有特殊点的颜色用二进制表示,对于每一位,这一位是 ......
题解 Foreign Friends 245G ABC

《看了受制了》第四十天,16道题,合计240道题

2023年10月11日 大部分的DP背包模型在上一篇。回来后做了两个小小小小小的不能再小的题。 Div.3 Round867 B Karina and Array 题目大意 删去任意的值,最后让相邻的乘积最大。 题目理解 最小的相乘或最大的相乘 代码实现 void solve() { int n; ......
240