关闭
当前搜索:

[arc079f]Namori Grundy

题目大意一个有向弱联通环套树。 一个点的sg值等于出边连向点的sg值的mex。 试问是否有办法给每个点分配sg值?做法先把环上每个点i处理出两个值b[i]和c[i],b[i]表示其所连向的环上点j的sg值sg[j]如果不等于b[i],那么sg[i]=b[i],否则sg[i]=c[i]。 任找一条环边u->v,枚举sg[u]=b[u]或c[u]两种情况,有一种合法即可,否则不可能合法。#incl...
阅读(115) 评论(0)

[arc082f]Sandglass

题目大意有一个沙漏,初始A面在B面上方,A面有a克沙,B面有X-a克沙,每个时刻如果上面的那一面有沙就会掉一克下来。 有n个时刻我们会翻转沙漏,现在若干个询问给出a和t,问A面如果初始有a克沙,时刻t时A面有多少沙。画一下根据初始a的图像任意时刻都是一段平板或一段平板+一个斜率为1的直线+一段平板。#include #include #define fo(i,...
阅读(139) 评论(0)

[arc082e]ConvexScore

做法可以发现题意转换后就是选出点集能围成凸包的方案数。 不如考虑不能围成的情况一定是选的点全部共线。 瞎做就好了。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; typedef long long ll; typedef double db; const i...
阅读(193) 评论(0)

[arc081f]Flip and Rectangles

前言一开始想如何染色成功。 发现只需要讨论四元环。 然后发现可以直接把规模缩成2*2矩阵。题目大意一个黑白网格图,你可以翻转任意行和任意列的颜色,求以此得到网格图最大黑色子矩阵面积。做法结论是一个矩阵如果任意一个2*2子矩阵都有偶数个黑色,一定可以通过翻转操作扭转为全黑。 易证必要充分。 然后就可以做经典问题。#include #include #def...
阅读(128) 评论(0)

[arc058d]Iroha and a Grid

题目大意一个矩形,从左上角开始,只能往下或往右走,不经过左下角一个给定大小的矩形,到达右下角的方案数。做法显然可以容斥,统计非法方案,那么枚举左下角矩形最上面一行第一个到达的格子即可。#include #include #define fo(i,a,b) for(i=a;i=b;i--)...
阅读(146) 评论(0)

[arc080f]Prime Flip

题目大意有无穷个硬币,初始有n个正面向上,其余均正面向下。 你每次可以选择一个奇质数p,并将连续p个硬币都翻转。 问最小操作次数使得所有硬币均正面向下。做法不妨考虑差分。差分后1的数量一定为偶数。 然后一次操作[l,r]会翻转两端l-1与r。 现在问题变成两两配对使得操作次数尽量少。 有三种情况: 1、|i-j|是奇质数,那么1步即可。 2、|i-j|是偶数,那么2步即可。(2可以5-...
阅读(169) 评论(0)

[arc080e]Young Maids

题目大意一个长度为偶数的排列p,每次取出相邻两个数并从p中删除,然后将这两个数按顺序加入q的开头(q初始为空)。 问能得到最小字典序的q。做法在堆中保存若干个区间(l,r),以及从中选出最小的和l奇偶性相同的位置u,以及在这个位置之后最小的和r奇偶性相同的位置v。记作(l,r,u,v)。 然后我们每次从堆中取出a[u]最小的(l,r,u,v),并将u、v加至开头,然后把区间分裂成(l,u-1)(...
阅读(241) 评论(0)

[arc076f]Exhausted?

前言你们都会hall定理推广版本。 但是我没用hall定理做啊。题目大意一个二分图,X部每个点i连了Y部的[1,Li]和[Ri,m]。 求n-最大匹配。做法考虑到二分图最大匹配等于最小覆盖。 最优方案小我们一定是选择了Y部的一个前缀和一个后缀,剩余不能因此得到覆盖的X部点要选上。 假如我们枚举选了Y部的前缀l,假设Y部选的后缀是r,那么选的点为l+m−r+1+n−∑ni=1[Li<=l]∗[...
阅读(111) 评论(0)

[arc076e]Connected?

题目大意一个矩形,n个数字填入了其中,每个数字出现两次。 对于一对相同的数字,使用一条极端细的可弯曲的线连起来(不允许出矩形)。 是否存在一种连线方案使得任意两条线不相交。做法只有两个数字都在矩形边界上,连线会分割矩形。 不妨先不连这些数字对,最后再来连。 于是你可以发现只要这些数字对能合法就能合法。 按顺时针做个栈贪心就好了。#include #include<algor...
阅读(112) 评论(0)

[agc006f]Blackout

题目大意给你一个人有向图。 如果x->y,y->z,加上z->x。 重复该过程直到不能再添加。 求最终图中有多少边。做法每一个弱联通块独立。 尝试对一个弱联通块三染色,然后分为三种情况。 1、染色失败。 一定是出现了二元环或自环,此时所有边均会出现。 2、染色不完全(没有用完三种颜色)。 此时不会出现新的边。 3、染色成功。 所有染色为0的向1连,1向2,2向0。#include...
阅读(199) 评论(0)

[agc006e]Rotate 3x3

前言结论题。题目大意不想讲。做法不想说。 推荐在网上搜索其他题解或看官方题解。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int maxn=100000+10; int tree[maxn],a[maxn][3]...
阅读(302) 评论(1)

[agc006d]Median Pyramid Hard

前言一道见过的题。题目大意一个长度为奇数的排列,令b[i]=median(a[i],a[i+1],a[i+2])。 median表示中位数。 不断执行上述变化序列最终变成1个数,它是什么?做法二分后变成01序列,考虑最终什么时候会是0。 我们发现相邻两个是同一个数字,这两列都是柱子,即从下到上都一样。 case 1:正中间是0柱子。 case 2:两边最近的柱子都是0柱子。 case 3...
阅读(109) 评论(0)

[agc005f]Many Easy Problems

前言居然有FFT题。题目大意给你一棵树,对于每个k求出在树上任选k个点形成虚树大小的和。做法假设这是有根树。 考虑一个点i对于一个k的贡献,考虑容斥。 Ckn−∑j是i儿子Cksize[j]−Ckn−size[i]C_n^k-\sum_{j是i儿子}C_{size[j]}^k-C_{n-size[i]}^k 假设a[i]表示最终答案中CkiC_i^k的系数,对于任何k来说a都是不变的。 然后...
阅读(215) 评论(0)

[agc005e]Sugigma: The Showdown

前言要知道怎么判-1,接下来就好办许多了。题目大意一个有红边和蓝边的图,只保留红边或蓝边都是一颗树。 现在A和B初始都在一个点上,轮流进行,A先操作。 A每次可以不动或沿着相邻的红边走到另一节点。 B类似,但只能走蓝边。 A和B相遇游戏结束。 A要最大化游戏时间,B要最小化游戏时间,若A永远不会被B抓到输出-1。做法当A到达一条红树上的边(x,y)的端点时(这条边满足x和y在蓝树的距离大于...
阅读(243) 评论(0)

[agc005d]~K Perm Counting

前言简单的容斥DP题。题目大意有多少排列对于每个位置i都满足|ai−i|!=k|a_i-i|!=k容斥当然是经典容斥问题了。 假如钦定某些位置不满足条件,其可以往前或后连。 发现只有模k相同的互相有影响。 不妨先做一个状压dp,f[i,j,s]表示有i个点,有j个点有出度(也就是j个不满足条件),其中i有没有入度,i+1有没有入度。 转移简单。 初始状态是f[1],注意第1个不能往前连。...
阅读(142) 评论(0)
818条 共55页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:324661次
    • 积分:11599
    • 等级:
    • 排名:第1515名
    • 原创:814篇
    • 转载:4篇
    • 译文:0篇
    • 评论:201条
    最新评论
    文章分类