10 2017 档案
摘要:题目链接 A Simple Task 题意 给出一个小写字母序列和若干操作。每个操作为对给定区间进行升序排序或降序排序。 考虑权值线段树。 建立26棵权值线段树。每次操作的时候先把26棵线段树上的所有在该区间内的信息清空。 然后再通过类似计数排序的方式从左往右(或从右往左)依次塞进去。
阅读全文
摘要:题目链接 Danil and a Part-time Job 题意 给出一系列询问或者修改操作 $pow$ $x$表示把以$x$为根的子树的所有结点的状态取反($0$变$1$,$1$变$0$) $get$ $x$表示求以$x$为根的子树中状态为$1$的结点数。 首先大力$dfs$序,然后线段树操作一
阅读全文
摘要:题目链接 Ciel and Flipboard 题意 给出一个$n*n$的正方形,每个格子里有一个数,每次可以将一个大小为$x*x$的子正方形翻转 翻转的意义为该区域里的数都变成原来的相反数。 求经过若干次操作之后整个正方形的所有数之和。 这题关键就是要知道这个结论。 假设$st[i][j]$为$a
阅读全文
摘要:题目链接 Prefix 题意 给定一个字符串序列,求第$l$个字符串到第$r$个字符串之间有多少个不同的前缀 强制在线 考虑$Hash$ 首先把所有前缀都$hash$出来,按顺序组成一个长度不超过$10^{5}$的序列。 然后放入主席树,问题转化为查询区间内不同数字的个数。 查询的时候找到的起始字符
阅读全文
摘要:出发日 中午坐大巴前往萧山机场。 哇开心又可以坐飞机了 飞机延误了。在候机大厅里十分无聊,先用机场的电脑玩了会小游戏 然后偷偷切了2个水题 (什么编译器IDE都没有,只能记事本了) 飞机上什么东西都没有,饿着肚子 降落前耳朵十分不适 沈阳好像没有想象中的冷……? 到了宾馆之后先放东西然后去吃烧烤(真
阅读全文
摘要:题意 Alice和Bob在玩一个游戏,Alice先手。 每次一个人可以从一堆式子中拿走任意数量(不超过m)的式子。 取走最后一颗式子的人胜利。 当一个取完某一步的时候剩下的石子数量的二进制表示中1的个数为奇数时,这个人直接输。 $n <= 5* 10^{8}, m <= 50$ 考虑博弈 我们可以用
阅读全文
摘要:题目链接 LIS2 经典的三维偏序问题。 考虑$cdq$分治。 不过这题的顺序应该是 $cdq(l, mid)$ $solve(l, r)$ $cdq(mid+1, r)$ 因为有个$DP$。
阅读全文
摘要:题目链接 ...Wait for it... 考虑树链剖分。 对于树上的每个点开一个set,记录当前该节点上所有的girls。 每个节点初始的权值为set中的最小值。 询问的时候每次在路径上寻找最小值,并返回这个点的编号。 然后把这个点的set的第一个元素取出,换成下一个元素。 因为女孩总数不超过1
阅读全文
摘要:题目链接 Yet Another Minimization Problem 题意 给定一个序列,现在要把这个序列分成k个连续的连续子序列。求每个连续子序列价值和的最小值。 设$f[i][j]$为前$i$个数分成$j$段的最优解 不难得出状态转移方程$f[i][j] = min(f[k][j - 1]
阅读全文
摘要:题目链接 Codeforces_Gym_101177 Problem A Anticlockwise Motion 直接模拟即可 Problem D Dendroctonus 非正解 任意选取三个点确定一个圆然后判断。 但是这样有特殊情况……如果两个点和另一个很远的点构成一个很大的圆, 这个圆可能恰
阅读全文
摘要:题目链接 Round 439 div2 就做了两道题TAT 开场看C题就不会 然后想了好久才想到。 三种颜色挑出两种算方案数其实是独立的,于是就可以乘起来了。 E题想了一会有了思路,然后YY出了一种方案。 我们可以对每个矩形随机一个权值,然后用二维树状数组搞下。 询问的时候看两个点权值是否相等就可以
阅读全文
摘要:题目链接 Roads in the Kingdom 题意 给出一个环套树的结构,现在要删去这个结构中的一条边,满足所有点依然连通。 删边之后的这个结构是一棵树,求所有删边情况中树的直径的最小值。 显然能被删掉的边是环上的边。 首先预处理出这个环。环上的每一个点都是一棵树的根。 假设环上有$cnt$个
阅读全文
摘要:题目链接 Codeforces_Gym_101485 Problem A 直接用优先队列进行贪心即可 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector
阅读全文
摘要:题目链接 BZOJ4540 考虑莫队算法。 这题难在$[l, r]$到$[l, r+1]$的转移。 根据莫队算法的原理,这个时候答案应该加上 $cal(l, r+1) + cal(l+1, r+1) + cal(l+2, r+1) + ... + cal(r+1, r+1)$ $cal(l, r)$
阅读全文
摘要:题目链接 Codefores_Gym_101164 Solved 6/11 Penalty 1652 Problem A Problem B Problem C Problem D Problem E Problem F 预处理出一个pre数组 pre[i]表示i位字母数以内用掉多少个字母 然后就可
阅读全文
摘要:题目链接 Flights for Regular Customers 首先按照$d$的大小升序排序 然后分成$m$个时刻,每条路径一次处理过来。 $can[i][j]$表示当前时刻$i$能否走到$j$ $can$通过上一条路径后的$can$和当前的可行路径矩阵的$d$次幂得到。 这由$floyd$求
阅读全文
摘要:题目链接 2012金华区域赛 Problem A 按a/b从小到大的顺序排队进行体检即可 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstdlib> 5 #include<algorithm> 6 #in
阅读全文
摘要:题目链接 2013杭州区域赛 Problem A Problem B 这题我用的是SPFA+ mask dp 首先跑5次SPFA: 1次是求出每个起点和其他所有点的最短距离 4次是求出每个输入的点和其他所有点的最短距离 然后就是dp 设dp[mask][i]为,mask状态下,以i为终点的最优方案然
阅读全文
摘要:题目链接 2014北京区域赛 Problem A Problem B 直接DFS+剪枝 剪枝条件:当前剩余的方块数量cnt < 2 * max{a[i]} - 1,则停止往下搜。 因为这样搜下去接下来肯定会出现相邻方块颜色相同的情况。 Problem C Problem D 考虑区间DP $f[i]
阅读全文
摘要:题目链接 BZOJ4326 这个程序在洛谷上TLE了……惨遭卡常 在NOIP赛场上估计只能拿到95分吧= = 把边权转化成点权 首先求出每一条路径的长度 考虑二分答案,$check(now)$ 对于当前那些长度大于$now$的路径,用差分求出这些路径经过的点的次数 设这些路径条数为l, 长度最大的路
阅读全文

浙公网安备 33010602011771号