摘要: ABCF看到以后立马就会做了,ABC差一点做到都比dreamoon切得快(总罚时比dreamoon少1分钟),主要是我在写C的时候multiset不知道为什么坏掉了。。。改了好长时间,最后换了堆 存起来再reverse输出的。。。DE自闭了好长时间然后发现是傻逼题 A.给一个abbcccddddee 阅读全文
posted @ 2018-12-28 20:33 QvvQ 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一张手写的题解 这些点一定在凸壳上 证明可以参照 "gxz大佬的题解" 这个题的做法是按照询问作为时间轴,把每个插入的向量视为在一个时间区间 $[l,r]$ 内有效,在 $[l,r]$ 在线段树上对应的 $O(log n)$ 个区间上打上标记,然后dfs一下整棵线段树,对于每个dfs到的线段树节点, 阅读全文
posted @ 2018-12-28 19:29 QvvQ 阅读(246) 评论(0) 推荐(0) 编辑
摘要: $f[i][j]$ 表示第1到i 1轮宝物是否取过的状态是j,第i轮到最后一轮的最大得分。 这样设计状态并且倒着推,可以保证不合法的状态是0,不会造成影响 $nd[i]$表示第i个物品要求的状态 cpp include using namespace std; typedef long long L 阅读全文
posted @ 2018-12-28 16:52 QvvQ 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一些矩阵,求这些矩阵合并后外部(被包括在内部的不算)周长 端点 1这个是用点代替了边,区间内有几个点就代表区间长度是多少 阅读全文
posted @ 2018-12-28 16:50 QvvQ 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个不降序列,有多个询问,询问[l,r]中出现次数最多的数的出现次数 多组数据 对于序列 1 1 1 1 1 1 3 10 10 10 可以这么理解, , , cnt[i]记录这个数字的出现次数,lef[i]记录左端点,righ[i]记录右端点,belong[i]代表第i个数字属于哪一块 阅读全文
posted @ 2018-12-28 16:50 QvvQ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 第一问是直接建图跑最大流 第二问需要在跑完第一问的残量网络上建图,对于正向边建容量是inf,费用是扩容费用的边,反向边建容量为0,费用是负的扩容费用的边,最后加一条边限流 cpp include using namespace std; define MP make_pair define pb p 阅读全文
posted @ 2018-12-28 16:49 QvvQ 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 按照加减血量排序,杀完能加血的放在前面,但有个地方要注意,就是如果两个怪物杀死都能加血的话,要把减少血量少的放在前面 cpp include using namespace std; const int MAXN = 1e5+7; struct Data{ int x, y, ord; inline 阅读全文
posted @ 2018-12-28 16:46 QvvQ 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 建图方式: S 同意 ,反对 T 对于每一对好友连容量为1的边 cpp include using namespace std; const int inf = 1e9; const int MAXN = 3e2+7; const int MAXM = 2e5+7; int n, m, s, t, 阅读全文
posted @ 2018-12-28 16:46 QvvQ 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 每个柱子拆成两个点 连一条柱子高度的边限流 源点 蜥蜴 汇点 或者 源点 蜥蜴 拆成的第一个点 拆成的第二个点 汇点 细节多 cpp include using namespace std; const int MAXN = 1207; const int MAXM = 2e5+7; const i 阅读全文
posted @ 2018-12-28 16:45 QvvQ 阅读(178) 评论(0) 推荐(0) 编辑
摘要: $gcd(x,y)=p | p∈P$ $gcd(x_1\times p,y_1\times p) = p$ $gcd(x_1,y_1)=1$ 每个素数的贡献是对于$[1,\lfloor\frac{n}{prime[i]}\rfloor]$里的每个数的欧拉函数的前缀和,因为$(x_1,y_1)$可以交 阅读全文
posted @ 2018-12-28 16:44 QvvQ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: ```cpp include using namespace std; int n, ans, c, i, j, k; bitseta[2005]; int read() { for(c = getchar(); !isdigit(c); c = getchar()); return c '0'; 阅读全文
posted @ 2018-12-28 16:43 QvvQ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 天数最多 长度最小 天数是流量,长度是费用 每个点拆成两个点限流1,就能保证只走一次 然后跑费用流 cpp include using namespace std; define MP make_pair define pb push_back define read2(a, b) (read(a) 阅读全文
posted @ 2018-12-28 16:42 QvvQ 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 做法跟没有上司的舞会差不多,只要把环上的任两点之间断开,从断开的两点分别为起点跑一次树形dp,然后取max就行了 几个坑点: 1.可能有多个连通块,每个连通块都是一个基环树 2.断环的时候没想到什么方法。。。后来用vector暴力找的。。。 3.爆int 4.代码里有个小地方,加了注释 常数极大,不 阅读全文
posted @ 2018-12-28 16:32 QvvQ 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 对于不在应该在的位置上的一个数a[i],每轮排序a[i]可以向后走多步,但只能向前一步,所以答案就是$$max \{i a[i]\}$$ 很恶心的卡常数,如果统计ans再开一个循环的话,需要开O3 关于在循环内统计答案的正确性。。。。不是很懂 cpp pragma GCC optimize("O3" 阅读全文
posted @ 2018-12-28 16:31 QvvQ 阅读(208) 评论(1) 推荐(0) 编辑
摘要: 其实主要代码就是这个。。。 $x[1] = (ax[0] + c) \pmod m$ $x[2] = a((ax[0] + c)+c) = a^2x[0] + ac + c \pmod m$ $x[3] = a(a^2x[0] + ac + c)+c = a^3x[0] + a^2c + ac + 阅读全文
posted @ 2018-12-28 16:30 QvvQ 阅读(189) 评论(0) 推荐(0) 编辑
摘要: orz 抄自 "www.hzwer.com" 首先证明不可能出现输出 1的情况:(其实黑点的增长只会发生在第一秒) 反设白点i在第一秒时由于某个方向(设为上方)没有黑点,就没有变成黑点,而在后来又成为了黑点。 此时在i点上方必有了黑点j,而j要成为黑点,j的上方必存在一个黑点,而那个黑点同时也在i的 阅读全文
posted @ 2018-12-28 16:25 QvvQ 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 对每个门bfs,求出每个点到这个门需要的时间 二分答案,每次建图的时候在当前时间内能到达就连边,不能到达就不连边 我好像做麻烦了,不需要拆点,直接这样建图就行: S到空地连一条容量1的边,每个空地到可到达的门连一条容量1的边,每个门到T连一条容量为时间的边 cpp include using nam 阅读全文
posted @ 2018-12-28 16:22 QvvQ 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个n个点的树,点有点权,有m次询问,每次询问多条链的并有多少种不同的点权以及它的mex mex就是一个集合中最小的没有出现的非负整数,注意0要算 rand出 $\sqrt n$个点,把每次查询拆成 x fx0 fx lca fy fy0 y cpp include using namesp 阅读全文
posted @ 2018-12-28 16:20 QvvQ 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 往返一次相当于走两次 危桥流量为2,正常边流量为inf 源点连 $a_1,a_2$,流量为 $2 \cdot a_n$, $b_1,b_2$连汇点,流量为$2 \cdot b_n$ 一般想来如果最大流$\ge \ 2\cdot \left(a_n+b_n\right)$就输出 Yes 注意到如果$a 阅读全文
posted @ 2018-12-28 16:18 QvvQ 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题意:找出满足$pre[j] \leq S + pre[i 1]$且j i最大的(i,j),$pre$是前缀和 二分长度和端点都不行,因为没有单调性 对于$i_1\lt i_2$,若有$pre[i_1 1] \ge pre[i_2 1]$则$i_2$一定不会成为答案中的i,这类i就可以忽略掉 我们可 阅读全文
posted @ 2018-12-28 16:17 QvvQ 阅读(153) 评论(0) 推荐(0) 编辑