Atcoder 题面传送门 & 洛谷题面传送门 首先我们考虑设 \(dp_{i,j}\) 表示对于一个 \(i\times j\) 的网格,其每行都至少有一个黑格的合法的三元组 \((A,B,C)\) 的个数,那么对于原来的 \(n\times m\) 的网格,如果其存在黑格的行的集合不同,那么三元组 \((A,B,C)\) 肯定不同,因此我们可以直接枚举有多少行存在黑格来计算答案,即 \(ans=\sum\limits_{i=0}^n\dbinom{n}{i}dp_{i,m}\),因此我们只需…
Atcoder 题面传送门 & 洛谷题面传送门 首先 \(n^5\) 的暴力非常容易想,设 \(dp_{a,b,c,d}\) 表示以 \((a,b)\) 为左上角,\((c,d)\) 为右下角的矩阵的 complexity.枚举断点转移即可,时间复杂度 \(n^5\). 我们考虑优化这个 \(dp\),首先比较明显的一点:这个 \(dp\) 状态满足单调性,也就是说 \(\forall d_1<d_2,dp_{a,b,c,d_1}\le dp_{a,b,c,d_2}\),也就是说对于某个 \…
B - Reversi 题目链接:https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: 给出n个数,然后现在你可以对一段区间修改成相同的值,前提是左右端点的值相同.问最后这n个数有多少种不同的值. 题解: 设dp[i]表示只考虑1~i这段,有多少不同的值.然后对于当前第i位,有两种选择,修改或者不修改,不修改的话就是dp[i-1]:修改的话就是dp[k],这里k表示上一个相同颜色的位置. 注意一下如果i-1和i的颜色相同,当前要跳过,这个时候…
洛谷题面传送门 & Atcoder 题面传送门 好久前做的题了--今天偶然想起来要补个题解 首先考虑排列 \(A_i\) 要么等于 \(i\),要么等于 \(P_i\) 这个条件有什么用.我们考虑将排列 \(P_i\) 拆成一个个置换环,那么对于每一个 \(i\),根据其置换环的情况可以分出以下几类: 如果 \(i\) 所在置换环大小为 \(1\),即 \(P_i=i\),那么 \(A_i\) 别无选择,只能等于 \(i\) 如果 \(i\) 所在置换环大小不为 \(1\),那么 \(A_i\)…
Atcoder 题面传送门 & 洛谷题面传送门 咦?鸽子 tzc 来补题解了?奇迹奇迹( 首先考虑什么样的排列可以得到.我们考虑 \(p\) 的逆排列 \(q\),那么每次操作的过程从逆排列的角度思考,就可视作每次在逆排列中交换两个相邻,且元素值之差 \(\ge k\) 的元素.注意到对于两个元素 \(x,y\),如果 \(|x-y|<k\),那么我们肯定永远无法交换它们,它们的相对位置顺序也永远无法改变,因为要改变它们的相对顺序必须交换它们.而一对 \(|q_i-q_j|<k,i&l…
提示:如果公式挂了请多刷新几次,MathJex的公式渲染速度并不是那么理想. 总的来说,还是自己太弱了啊.只做了T1,还WA了两发.今天还有一场CodeForces,晚上0点qwq... 题解还是要好好写的. A - Digit Sum 2 Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement Find the maximum possible sum of the digits (in bas…
Time limit : 2sec / Memory limit : 256MB Score : 700 points Problem Statement Squid loves painting vertices in graphs. There is a simple undirected graph consisting of N vertices numbered 1 through N, and M edges. Initially, all the vertices are pain…
A - Digit Sum 2 Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement Find the maximum possible sum of the digits (in base 10) of a positive integer not greater than N. Constraints 1≤N≤1016 N is an integer. Input Input is give…
题意:给\(n+1\)个站\(0,\dots,n\),连续的两站\(i-1\)和\(i\)之间有一个距离\(A_i\),其是单行(\(B_i=1\))或双行(\(B_i=2\)),单行线不能同时有两辆方向不相同的车在上面,现在每\(k\)分钟发一次车(从\(0\)到\(n\)和从\(n\)到\(0\)),需要安排\(k\)分钟内的时间表,使得从\(0\)开到\(n\)的时间和从\(n\)开到\(0\)的时间和最小. 思路:主席树优化\(dp\). 这道题告诉我们要学好语文 首先避免在单行线上交叉…
Time Limit: 2 sec / Memory Limit: 1024 MB Score : 700700 points Problem Statement You are given an integer NN. Build an undirected graph with NN vertices with indices 11 to NN that satisfies the following two conditions: The graph is simple and conne…
Atcoder 题面传送门 & 洛谷题面传送门 一道难度 unavailable 的 AGC F 哦 首先此题最棘手的地方显然在于此题的坐标可以为任意实数,无法放入 DP 的状态,也无法直接计算概率.我们考虑是否能将实数坐标转化为我们熟知的整数坐标.这里有一个套路,注意到每条弧的长度都是整数这个条件,考虑两个坐标 \(A,B\),显然以 \(A\) 开始的长度为 \(l\) 的弧能覆盖到 \(B\) 当且仅当 \(\lfloor B\rfloor-\lfloor A\rfloor<l\),或…
Atcoder 题面传送门 & 洛谷题面传送门 这道 Cu 的 AGC F 竟然被我自己想出来了!!!((( 首先考虑什么样的序列会被统计入答案.稍微手玩几组数据即可发现,一个颜色序列 \(c_1,c_2,\cdots,c_{nk}\) 满足条件当前仅当对于从左往右数第 \(i\) 个 \(0\) 号颜色的位置 \(p_i\),\([1,p_i-1]\) 中非零颜色的种类 \(<i\).简单证明一下,必要性:如果 \(\exist i\in[1,n]\) 满足 \([1,p_i-1]\) 中…
洛谷题面传送门 & Atcoder 题面传送门 如何看待 tzc 补他一个月前做的题目的题解 首先根据 SG 定理先手必输当且仅当 \(\text{SG}(1)=\text{SG}(2)\).考虑从反面入手,拿总情况数减去 \(\text{SG}(1)=\text{SG}(2)\) 的方案数. 怎么求 \(\text{SG}(1)=\text{SG}(2)\) 的方案数呢?看到这类数据范围巨小并且要你求"有多少组边集满足保留边集中的边后符合 xxx 条件"的题目,果断选择对点集…
洛谷题面传送门 & Atcoder 题面传送门 12 天以前做的题了,到现在才补/yun 做了一晚上+一早上终于 AC 了,写篇题解纪念一下 首先考虑如果全是 \(-1\)​ 怎么处理.由于我们不关心每个 pair 中的 max 是多少,并且显然每个 pair 的最小值都是两两不同的,因此我们可以考虑有多少个最小值组成的集合,然后答案乘上 \(n!\) 即可.而显然如果我们将"作为某个 pair 的最小值"的位置放上一个左括号,"不作为某个 pair 的最小值&quo…
洛谷题面传送门 & Atcoder 题面传送门 一道难度 Au 的 AGC F,虽然看过题解之后感觉并不复杂,但放在现场确实挺有挑战性的. 首先第一问很简单,只要每次尽量让"辗转相除"变为"辗转相减"即可,具体构造就是 \((F_k,F_{k+1})\),其中 \(F_i\) 为斐波那契数列第 \(i\) 项,\(F_0=F_1=1\),也就是说最终的答案即为最大的 \(k\) 满足 \(F_{k-1}\le X\) 且 \(F_k\le Y\)(不妨假设…
Atcoder 题面传送门 & 洛谷题面传送门 Yet another AGC F,然鹅这次就没能自己想出来了-- 首先需注意到题目中有一个条件叫做"黑格子组成的连通块是四联通的",这意味着我们将所有黑格都替换为题目中 \(H\times W\) 的标准型之后,黑格(标准型)内部是不会对连通块个数产生贡献的,产生贡献的只可能是黑格与黑格之间的边不产生连通块.如果我们记 \(G_{\text{h}}\) 两个标准型横着拼在一起得到的 \(H\times 2W\) 的图形,\(G_…
Atcoder 题面传送门 & 洛谷题面传送门 tsc 考试前 A 的题了,结果到现在才写这篇题解--为了 2mol 我已经一周没碰键盘了,现在 2mol 结束算是可以短暂的春天 短暂地卷一会儿 OI 了(( u1s1 写这篇题解的时候我连题都快忘了... 首先设 \(b_i=\dfrac{A_i}{\sum\limits_{j=0}^{2^n-1}A_j}\),其次碰到这种期望类的题目我们考虑套路地设 \(p_i\) 表示异或得到 \(i\) 的概率,那么有 \(p_i=\sum\limits…
题目传送门:https://agc017.contest.atcoder.jp/tasks/agc017_f 题目大意: 找出\(m\)个长度为\(n\)的二进制数,定义两个二进制数的大小关系如下:若\(a<b\),则设\(a_i\)表示\(a\)的二进制下第\(i\)位(从左往右)的数,有\(a_i\leqslant b_i,i\in[1,n]\) 现需要满足每个二进制数需要小于其之后的二进制数,并且给出一些性质,满足第\(A_j\)个二进制数的第\(B_j\)位(从左往右)必须要为\(C_i…
题目传送门:https://agc003.contest.atcoder.jp/tasks/agc003_f 题目大意: 给定一个\(H×W\)的黑白网格,保证黑格四连通且至少有一个黑格 定义分形如下:\(0\)级分形是一个\(1×1\)的黑色单元格,\(k+1\)级分形由\(k\)级分形得来.具体而言,\(k\)级分形中每个黑色单元格将会被替换为初始给定的\(H×W\)的黑白网格,每个白色单元格会被替换为\(H×W\)的全白网格 求\(k\)级分形的四连通分量数,答案对\(10^9+7\)取模…
题目传送门:https://agc011.contest.atcoder.jp/tasks/agc011_f 题目大意: 现有一条铁路,铁路分为\(1\sim n\)个区间和\(0\sim n\)个站台,区间\(i\)连接站台\(i-1\)和\(i\) 一列火车经过区间\(i\)会消耗\(A_i\),区间内的铁路是单向或者是双向的,现在你需要设计一个火车时间表,满足: 所有火车从\(0\)到\(n\)或从\(n\)到\(0\) 火车在区间中不得逗留 两列同向的火车之间的时间间隔为\(K\) 单向…
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_f 题目大意: 给定一个\(N\)点\(M\)边的DAG,\(x_i\)有边连向\(y_i\),保证\(x_i<y_i\),原图有\(2^M\)个生成子图,对于每个子图\(G'\),\(A,B\)两人正在玩一个游戏:初始时点1,2上有棋子,每次操作可以把某个棋子沿有向边移动一步,最后不能操作的人为输.问有多少个子图\(G'\)满足先手必胜 这种神题一看就不会写--首先考虑博弈,先手必胜的话当…
题目传送门:https://agc002.contest.atcoder.jp/tasks/agc002_f 题目翻译 你有\(n*k\)个球,这些球一共有\(n\)种颜色,每种颜色有\(k\)个,然后你可以随意把它们放成一行.放好后把每个颜色最左边的球染成\(n+1\)号颜色,问这样可以搞出多少种不同的颜色序列. 题解 最近没休息好,状态不好,而且这还是我最不擅长的计数题,跪了跪了. 你们去看别人的题解吧,我也讲不清楚,这里只有丑逼代码可以看. 时间复杂度:\(O(nk)\) 空间复杂度:\(…
题目传送门:https://agc010.contest.atcoder.jp/tasks/agc010_f 题目大意: 给定一棵树,每个节点上有\(a_i\)个石子,某个节点上有一个棋子,两人轮流操作:从棋子所在点上移出一个石子,并将棋子移动到相邻的节点,不能操作的人为输,问哪些节点放棋子使得先手必胜? 性质题--动棋子必定移动到石子数比当前位置少的点,否则该点是个先手必败点,然后\(n^2\)搜索一下就好了-- /*program from Wolfycz*/ #include<cmath>…
传送门 \(A\) 咕咕 ll n,res;bool fl; int main(){ scanf("%lld",&n),fl=1; while(n>9)res+=9,fl&=(n%10==9),n/=10; printf("%lld\n",res+n-1+fl); return 0; } \(B\) 只有凸包上的点有贡献,且把以这个点为端点的两条凸包上的线的中垂线画出来,它的概率就是两条中垂线的夹角除以\(2\pi\) //quming #in…
Atcoder 题面传送门 & 洛谷题面传送门 神仙题. 在下文中,方便起见,用 R/B 表示颜色序列中球的颜色,用 r/b 表示染色序列中将连续的区间染成的颜色. 首先碰到这一类计算有多少个可以被得到的序列的问题,我们为了避免计算重复,肯定会先考虑什么样的序列能够被得到,从而设计一个 DP 状态.此题也不例外.考虑对于一个颜色序列它能否能够被得到,显然对于这个颜色序列中白色格子,它们肯定从来没有被覆盖,因此我们考虑这些白色格子被分割而成的连续段.我们将这些连续段分为两类:不含蓝色格子和含蓝色格…
Atcoder 题面传送门 & 洛谷题面传送门 Yet another 思维题-- 注意到此题 \(n\) 数据范围很大,但是 \(a_i,b_i\) 数据范围很小,这能给我们什么启发呢? 观察题目所求的组合数的形式,我们可以联想到组合数的组合意义(qwq 似乎 AGC 很喜欢放组合意义的题?涨见识了/cy):\(\dbinom{x+y}{x}\) 为从 \((0,0)\) 出发,只能向上或向右走,到达 \((x,y)\) 的方案数. 于是此题可以转化为,对于 \(\forall i,j\) 求…
Atcoder 题面传送门 & 洛谷题面传送门 我竟然能独立做出 Ag 的 AGC E,incredible!更新了 Atcoder 做题难度上限( 首先按照套路 Min-Max 容斥,\(ans=\sum\limits_{\varnothing\ne T\subseteq S}(-1)^{|T|-1}\times E(\min(T))\),考虑怎样求这个式子的值.首先我们需要搞清楚 \(E(\min(T))\),假设 \(T\) 中包含下标为 \(x_1,x_2,\cdots,x_m\) 这…
Description Takahashi has decided to give a string to his mother. The value of a string T is the length of the longest common subsequence of T and T', where T' is the string obtained by reversing T. That is, the value is the longest length of the fol…
题面 传送门 思路 首先,这个涂黑的方法我们来优化一下模型(毕竟当前这个放到矩形里面,你并看不出来什么规律qwq) 我们令每个行/列编号为一个点,令边(x,y)表示一条从x到y的有向边 那么显然只要有一条长度为2的路径,就会得到一个三元环 我们考虑如何统计新加入的边的数量,发现有如下规律: 1.如果一个弱联通块中的点可以被3染色(0的出边染成1,1的染成2,2的染成0,倒着染就是反过来),那么这个联通块中所有0会向所有1连边,所有1会向所有2连边,所有2会向0连边 2.如果一个弱联通块染色的时候…
洛谷题面传送门 & Atcoder 题面传送门 毒瘤 jxd 作业-- 首先我们不能直接对所有排列计算贡献对吧,这样复杂度肯定吃不消,因此我们考虑对每两个位置 \(x,y(x<y)\),计算 \(p_x>p_y\) 的排列个数.如何计算呢?我们考虑先求出对于一个固定的 \(a_1,a_2,\cdots,a_n\),如何求出满足 \(p_i\le a_i\) 的排列 \(p\) 的个数,我们考虑将一个 \(a_i\) 看作一个限制,那么我们可以想到将这些限制从小到大排序并按照这样的顺序钦…