$n \leq 200000$的abc字符串,现能进行如下变换零次或若干次:选一个$i<n$且$s_i \neq s_{i+1}$,把$s_i$和$s_{i+1}$替换成abc三个字母中除了这两个外的另一个.问$s$能变出多少字符串. 性质观察题,$S$能变成$T$: $S$中字母如果全相同,$S$=$T$: $S$中有相邻相同字母:令$a=0,b=1,c=2$,可以发现这个变换在$mod \ \ 3$下串总和是不变的.而这个变换一定会带来相邻相同字母,因此所有有相邻相同字母$T$都满足. $S…
AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几次操作将三个数变为相同的数. 分析: 可以发现如果三个数的奇偶性相同直接加就可以了,对于奇偶性不同的,先把奇偶性相同的两个数都+1,然后按照相同的处理就可以了.可以证明没有更好的方案. #include <bits/stdc++.h> using namespace std; int a,b,c,…
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$题解 本次$ARC$可谓是手速场.当时由于博主实在zz导致滚粗,rk89. 下面是题解. 总结了一下,三道结论题.样例都不错,猜到结论基本上就可以过掉了. 严重差评!!!大概要涨不了多少rating了QAQ(暴露了我的Rating是多么低),xza怎么没来?? (UPD:2018-04-07 21:…
AtCoder Regular Contest 069 F Flags 二分,2-sat,线段树优化建图 链接 AtCoder 大意 在数轴上放上n个点,点i可能的位置有\(x_i\)或者\(y_i\) 思路 首先最大值最小,考虑二分答案. 如何check呢. 只有两个坐标,考虑2-sat. 可是边有点多,存不下来,考虑线段树优化建图. 如何建图. 先按照做坐标排序,我们有两个点的范围 [id[x]-mid,id[x]+mid],[id[y]-mid,id[y]+mid]. 这个显然是z选了,区…
题目传送门:https://arc074.contest.atcoder.jp/tasks/arc074_d 题目大意: 给定一个\(H×W\)的网格图,o是可以踩踏的点,.是不可踩踏的点. 现有一人在S处,向T移动,若此人现在在\((i,j)\)上,那么下一步他可以移动到​\((i,k)\)或\((k,j)\)上,\(k\)任意 问最少需要将多少个o改成.,可以使这个人无法从S到达T,输出最少需要更改的数目:如果无论如何都不能使这个人无法从S到T,则输出\(-1\) 这个模型就是最小割啊--我…
题目传送门:https://arc081.contest.atcoder.jp/tasks/arc081_d 题目大意: 给定一个\(n×m\)的棋盘,棋盘上有一些黑点和白点,每次你可以选择一行或一列,将上面所有的颜色取反,问若干次操作后可以得到的最大全黑子矩阵面积 首先我们可以发现,对于一个\(2×2\)的子矩阵,如果其内部的黑点个数不是偶数个,则这个子矩阵不能全部变成黑点,因此我们可以将所有黑点权值设为1,白点设为0,每个\(2×2\)子矩阵的左上角记录其内部的异或值 然后我们就可以随便写了…
https://arc094.contest.atcoder.jp/tasks/arc094_b 题意: 在2次超多人的比赛中,你取得的成绩依次为第A名和第B名.一个人的成绩为a和b时,当且仅当ab<AB时,他会在综合排名中排在你前面. 显然同一次比赛的同一个名次只能被一个人拥有. 现在问综合排名排在你前面的最多有多少人? 题解: 这是官方答案: 想了好久,略有所悟>_<.  为便于叙述,令第一次比赛排名为a,第二次比赛排名为b.则必有a*b<A*B且a!=A,b!=B. 首先,考…
题意: 你现在有n个题目可以做,第i个题目需要的时间为t[i],你要选择其中的若干题目去做.不妨令choose[i]表示第i个题目做不做.定义cost=∑(i<=n)∑(i<=j<=n)(∏(i<=k<=j)choose[k])−∑(i<=n)choose[i]×t[i]有q个询问,每个询问给出两个数p,x表示询问假设把t[p]修改成x,当你任意指定choose[]的值时,最大的cost是多少. 首先不考虑询问,dp一遍,f[i]表示前i个题目获得的最大收益,f[i]=…
题意: n个人抢m个凳子,第i个人做的位置必须小于li或大于ri,问最少几个人坐不上. 这是一个二分图最大匹配的问题,hall定理可以用来求二分图最大匹配. 关于hall定理及证明,栋爷博客里有:http://blog.csdn.net/werkeytom_ftd/article/details/65658944 可以推出答案为$max\{|x|-Γ(X)\}$,x为左侧点的一个子集,Γ(X)为这些点能到达的右侧点的集合. 证明: 因为二分图有完美匹配的充要条件是对于所有的x都有Γ(X)>=|x…
题意: 有n个餐厅排成一排,第i个与第i+1个之间距离是Ai. 有m种食物,每种食物只能在一个餐厅里吃,第j种食物在第i个餐厅里吃的收益是$b[i][j]$. 选择每种食物在哪个餐厅里吃,使收益减去走过距离最大(食物可以不按顺序吃). 显然走过距离就是选择的餐厅所在的区间的长度,让f[i][j]表示选择的餐厅所在的区间为i到j的最大收益. 对于每个b[i][j],求出左边和右边第一个比它大的位置l,r. 那么对于左端点在l+1~i,右端点在i~r-1的区间里第j种食物肯定在第i个餐厅吃. 相当于…