传送门 题目描述 大厨最近迷上了一款勇者斗恶龙的游戏. 游戏每局开始前,会有 N 件武器摆成一圈.每件武器有一个整数的等级.大厨可以选择两件 相邻的等级相同(不妨设同为 A 级)的武器,将它们合成.这两件武器在合成后就消失了,取而 代之,在它们原本所在的位置上出现的是一件 A + 1 级的武器. 大厨可以合成任意多次,而游戏的目标就是合成出尽可能高等级的武器.每关之间互不影响. 请你帮大厨求出每局游戏能合成得到武器的最高等级. 输入格式 输入第一行,包含一个整数 T,表示游戏局数.下面是 T 局…
传送门 题解给出了一个很强势的dp: i<K $$dp[i][len]*Fib[len+2-(t[i]==1)] -> dp[i+1][len]$$ $$dp[i][len]*Fib[len+1-(t[i]==1)] -> dp[i+1][len+1]$$ i>=K $$dp[i][len]*Fib[len+2-(t[i]==1)-(s[i]==1)] -> dp[i+1][len]$$ 其中K是s的前导0个数 意思是单独考虑每一位,相邻两个不能同时为1,方案数是斐波那契数,…
传送门 题目描述 考虑一个 N 行 N 列的网格,行列编号均为 1 ∼ N.每个格子中包含一个整数.记 ri 为第 i 行的最小值,Ci 为第 i 列的最大值.我们称一个网格为好的,当且仅当满足:$$max(r1, . . . , rN ) = min(C1, . . . , CN )$$ 大厨有这么一个网格,他可以将格子中的数字改为任意整数.请你告诉大厨,他至少需要改 变几个数字,才能使得网格变成好的. 输入格式 输入第一行,包含一个整数 N,代表网格的边长. 接下来 N 行,每行包含 N 个…
考试考到自闭,每天被吊打. 还有几天可能就要AFO了呢... Luogu3602:Koishi Loves Segments 从左向右,每次删除右端点最大的即可. [HEOI2014]南园满地堆轻絮 答案一定是 \(\lceil \frac{max_{1\le i < j \le n}(a_i-a_j)}{2} \rceil\). 可以考虑一个二分答案 \(mid\),那么每个数 \(x\) 都是一个 \([x-mid,x+mid]\) 的范围. 当前面有一个 \(y\) 使得 \(y-mid>…
C. Binary Table 题目连接: http://codeforces.com/problemset/problem/662/C Description You are given a table consisting of n rows and m columns. Each cell of the table contains either 0 or 1. In one move, you are allowed to pick any row or any column and i…
Description \(n,q,V\leq 100000,w_i\leq 10^9\) Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的. 容易发现,1操作的影响只会影响到距离不超过log的点. 这样我们很容易得到一个\(q\log n\log ^2V\)的做法 同一深度的修改有一种套路是维护BFS序. 对于子树内的点,我们将log个深度对应的BFS序区间减去相应的影响. 对于修改点的log个有用的祖先,我们也类似操作,注意重复影响…
题目链接 题目大意 给你n堆石子(n为偶数),两个人玩游戏,每次选取n/2堆不为0的石子,然后从这n/2堆石子中丢掉一些石子(每一堆丢弃的石子数量可以不一样,但不能为0),若这次操作中没有n/2堆不为0的石子则输 题目思路 本来以为是nim博弈打sg表什么的,结果其实是一个思维题 结论:如果最小堆的数量小于等于n/2则,先手胜,否则后手胜 我们考虑最小堆数量超过n/2的情况.那么此时先手不管如何选取,都会选到一个最小堆,由于要求每轮取得石子数量大于0 ,那么最小堆的石子数必然会减少,而且此时取完…
题目链接:https://codeforces.com/gym/102056/problem/I Warm sunshine, cool wind and a fine day, while the girl watching is pursuing in chaos. Rikka reached out her hand and got the garland on her head, finding LCR with the immortal smile. The dream ended u…
抽象 一.抽象类:不知道是具体什么东西的类. abstract class 类名 1.抽象类不能直接new出来. 2.抽象类可以没有抽象方法. public abstract class USB { //抽象类 //两个抽象方法,抽象类中也可以不写抽象方法 public abstract void qidong(); public abstract void tingzhi();//抽象方法不用写{} } 3.抽象类中,可以有抽象方法,也可以有非抽象方法.抽象类中还可以有成员变量. 4.派生类中…
本文描述在java内部类中,经常会引用外部类的变量信息.但是这些变量信息是如何传递给内部类的,在表面上并没有相应的线索.本文从字节码层描述在内部类中是如何实现这些语义的. 本地临时变量 基本类型 final int x = 10; new Runnable() { @Override public void run() { System.out.println(x); } }.run(); 当输出内部类字节码(javap -p -s -c -v)时,如下所示: 0: getstatic #2 /…