关闭

[arc069f]Flags

题目大意n个变量xix_i,每个变量等于aia_i或bib_i。 选择一种赋值方案,使得min(|xi−xj|)min(|x_i-x_j|)最大。二分答案二分答案后转化为2-sat问题,线段树优化连边即可。 (注意不能够自己连自己的另一半)#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using...
阅读(25) 评论(0)

[arc073f]Many Move

题目大意你有两个整数a和b。 现在n个操作,依次执行,每次给你xi,你选择一个整数y变成xi,代价为|xi-y|。 求做完所有操作的最小代价。做法设f[i]表示做完前i个操作,其中一个整数变成xix_i,另一个变成xi−1x_{i-1}的最小代价。 第一次操作枚举是哪个变成x[1]做两次dp,以a为例,那么f[1]=|a-x[1]|,然后x[0]=b,即为初值。 转移是f[i]=min(f[...
阅读(39) 评论(0)

[置顶] NOIP2017差评记

DAY 0车上不断被要耳机,我说要看番没给,结果我车上全程没用耳机。DAY 1我以为密码是不膜王楚星。 原来是不忘初心。 t1一股巨难的感觉(怎么10min我都不会做) t2是个傻逼模拟吧 t3待会再想 又推了10min才做出t1。 这时我注意到%lld本机会炸,想到了还有输出类型这种玩意,于是举手提问,得到了不解答的回答。 于是气愤的改了个高精度(当时已经气傻了大概) t2好写啊。...
阅读(158) 评论(2)

[arc074f]Lotus Leaves

题目大意一个池塘,有起点叶子、终点叶子和叶子。 同行同列的叶子联通,问最少删去多少叶子(除起点终点)能使得起点和终点不连通。最小割显然#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int maxn=100+10,maxm=1000000+10,i...
阅读(51) 评论(0)

[arc074e]RGB Sequence

题目大意有多少三色序列,满足m个条件,每个条件形如区间颜色种类数为多少。做法设dp,f[i,j,k]表示1~i填完了,除了第i个位置填的颜色,其余两种颜色最后一次填在j和k,然后每次处理右端点挂在i的条件,把不符合条件的状态赋值为0。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using names...
阅读(38) 评论(0)

[arc071f]Infinite Sequence

前言怎么这题1000分啊。题目大意一个无穷序列,要求所有大于n的项都和第n项相同。 如果一个位置值为k,接下来k个位置必须相同。 每个位置填1~n的数,求方案数。做法显然相邻两个位置>1后面就全tm一样了。 然后就很tm好做。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namesp...
阅读(61) 评论(0)

[arc077f]SS

前言有趣的字符串题。 我是不是推出了什么和大家看起来不一样实质上一样的东西。题目大意定义AA表示两个一样的字符串A接在一起。 定义F(SS)=TT,TT是长度最小的满足条件的字符串且SS是TT的前缀。 给你小写字母串SS,求F10100(SS)F^{10^{100}}(SS)的区间[l,r]每个字母出现次数。有趣这显然是一道和border相关的题。 然后可以发现只考虑S的变化就行,不需要考虑...
阅读(78) 评论(0)

[arc077e]guruguru

题目大意有一个台灯,等级为1~m的一个整数。 有一个喜爱等级x,你每次操作可以让台灯等级+1(m+1会变成1)或变成x。 现在你要完成台灯等级从ai变成ai+1这n-1个操作。 如何选择x能使操作次数最小。做法每次可以讨论出某些区间需要变成x然后到达ai+1比较优还是直接加到ai+1比较优。 然后打上对应前缀tag,最后顺序扫一遍找一个最小的。#include #includ...
阅读(54) 评论(0)

[arc075f]Mirrored

题目大意rev(n)为n翻转后的十进制数(从第一个非0位往后翻转)。 有多少n满足rev(n)=n+d。做法如果d末尾有0,显然那几位可以任意填(只要不造成前导0),先剔除掉。 然后就可以暴力枚举一半的数字并判断。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std...
阅读(55) 评论(0)

[arc078f]Mole and Abandoned Mine

题目大意一张无向带权连通图,删去边权和尽量小的边使得1->n路径唯一。DP设f[s,i]表示1->i,目前和1联通的集合是s,1->i不存在两条路,能保留的最大边权和。 转移分两种,一种是加一条桥,一种是给i挂一个集合。 即f[s,i]+dis[i,j]−>f[s,j]f[s,i]+dis[i,j]->f[s,j] 还有f[s,i]+p[y]−>f[s|y,i]f[s,i]+p[y]->f[s...
阅读(89) 评论(0)

[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...
阅读(61) 评论(0)

[arc082f]Sandglass

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

[arc081f]Flip and Rectangles

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

[arc058d]Iroha and a Grid

题目大意一个矩形,从左上角开始,只能往下或往右走,不经过左下角一个给定大小的矩形,到达右下角的方案数。做法显然可以容斥,统计非法方案,那么枚举左下角矩形最上面一行第一个到达的格子即可。#include #include #define fo(i,a,b) for(i=a;i=b;i--)...
阅读(89) 评论(0)
798条 共54页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:273672次
    • 积分:10832
    • 等级:
    • 排名:第1633名
    • 原创:794篇
    • 转载:4篇
    • 译文:0篇
    • 评论:196条
    最新评论
    文章分类