随笔分类 - 题解
摘要:点我看题 A. Catch the Coin 令一个硬币与原点的x轴方向距离为d。那我们的最优思路肯定是在开局的d秒内走到与硬币x坐标相同、y坐标为-d的位置。如果此时硬币已经掉到这个位置下方那就没救了,否则就肯定可以接到。 时间复杂度。 点击查看代码 #include <bits/
阅读全文
摘要:点我看题 A - Count Takahashi 没啥好说的 点击查看代码 #include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<n;++i) #define repn(i,n) for(int i=1;i<=n;++i) #define L
阅读全文
摘要:?
阅读全文
摘要:洛谷题目链接 思路很清奇的网络流题 这种第i天需要至少人的限制,按常规思路容易想到在i号点和i+1号点之间连一条容量为的边,并强制流满。但是如果雇佣了一个人,他只能从天,我们无法控制他只流这个区间内的边,所以需要换一种思路。 考虑如下建图。对于第i天的限制
阅读全文
摘要:[点我看题](https://codeforces.com/contest/1801) 1801 E. Gasoline prices 先来看这样一道题:一个长为n的字符串,每个字符都是一个英文小写字母。有q个限制,每个限制形如,表示从位置x与从位置y开始的长度为len的子串相
阅读全文
摘要:点我看题(Div2) Div 2A. Likes 如果要赞最多,肯定是先放所有的点赞,再放所有移除的操作。如果要最少,那就先把赞分成两种:最后被移除的和没被移除的;最后先放所有被移除的,放一个移除一个,然后再把所有没被移除的接在最后即可。 时间复杂度。 点击查看代码 #include <
阅读全文
摘要:题目链接 假设现在字符串s中已经没有问号,我们来确定这时的答案。我们建立一个4个点的有向图(可以看成一个自动机),4个点分别代表每个set内部的比分:0:0, 1:0, 0:1, 1:1。在其中连一些边,比如从1:0往1:1连一条权值为0的边,代表放一个字符b时会走这条边,且对Alice赢的set数
阅读全文
摘要:题目链接 为什么这题是要求偶数方案数与奇数方案数的差,而不是直接求总方案数呢?这时候就应该往一个偶方案和一个奇方案抵消的方向去想。对于一个线段i,我们称它是不好的,当且仅当存在线段j使得,也就是它包含一个别的线段;否则称这个线段是好的。我们来观察一
阅读全文
摘要:LOJ链接 UOJ链接 观察一下n次地震的过程,发现最后会有n个石柱高度为0,高度的石柱各有一个。假设现在已经确定了一种初始高度状态,我们来看看最后哪些石柱高度会大于0: 首先,初始高度为n的两个石柱中,较右的会留下来,最后高度为n的石柱就是它 接下来,最后高度为n-1的石
阅读全文
摘要:点我看题 A. Recent Actions 注意到只有编号大于n的博客会被更新,所以每当有一个之前没被更新的过的博客被更新时,当前列表中最下面的就会被挤掉。如果这次更新的博客之前已经被更新过,那么此时仍在列表中的编号为1-n的博客的顺序不会被改变。所以直接模拟即可。 时间复杂度。
阅读全文
摘要:点我看题 对两三年前的cf进行考古的时候偶然做到这场,像这种全是构造题和思维题的比赛还是比较少见的。题目本身很有意思,但是对于现场打比赛想上分的人来说体验就比较差了。 A. Subsequence Permutation 先把原串s排序,令排完序的串为t。注意到s和t不相等的那些位置是必须被修改的;
阅读全文
摘要:题目链接 原排列进行k次操作后,一定会剩下一个长度至少为的上升区间。观察发现,一个排列能用次操作得到的充要条件是:其中的最长上升区间长度。 我们枚举k,对每个k计算答案。最长上升区间长度的排列个数不太好算,我们可以算出最长上升区间长度$\l
阅读全文
摘要:点我看题 A. Parallel Projection 我们其实是要在这个矩形的边界上找一个点(x,y),使得(a,b)到(x,y)的曼哈顿距离和(f,g)到(x,y)的曼哈顿距离之和最小,求出最小值之后加h就是答案了,因为我们不可能在竖着的墙面上来回走,只可能走一次。进一步发现我们在上底面和下底面
阅读全文
摘要:点我看题 A - AABCDDEFE 一个beautiful number是形如这样的:。如果选定了,后面的数有100000种选法,所以先求出答案的。假设现在我们要求出以开头的第小的beautiful number。发现这个条件其
阅读全文
摘要:题目链接 首先可以想到把题目中的那张图G建出来,由于要求这张图是二分图,把它复制一遍(),然后对于每个u,连一条无向边,这样就变成了最大独立集问题。但是一般图最大独立集是没有多项式复杂度的做法的,所以不行。 考虑先把这张图看成有向图,也就是如果,就连一
阅读全文
摘要:题目链接 首先看R和B的数量不等的情况(很多博弈题都是先比较两种物品的数量,相等的情况再用SG函数之类的技巧),结论是R多Alice必赢,B多Bob必赢。证明:来看R比B多的情况,定义两人的"差距"为当前R的数量减B的数量。发现Alice操作只可能让差距不变或变小,Bob操作只可能让差距不变或变大。
阅读全文
摘要:题目链接 把的位置个数称为间隔数 首先想到一个暴力做法。从小到大挨个添加1-n中的每个数,注意到添加数i时,只能添加到当前序列的最后11个位置中,否则逆序对数就会超。令表示当前添加到数i,当前逆序对数为j,间隔数为p,msk是一个集合表示当前
阅读全文
摘要:题目链接 首先注意到每个数最多操作1次就能让他变成2的倍数,所以答案。如果我们能枚举[1,1e12]中所有的质数,并对每个质数p求出把数组中所有数都变成它的倍数的最少步数,那就能求出答案了。但是质数太多了不能一个个枚举。令最小的质数为P,如果有多个最小的则任取一个。
阅读全文