- 博客(717)
- 收藏
- 关注
转载 Codeforces命令行工具
https://github.com/xalanq/cf-tool Codeforces Tool 是 Codeforces 的命令行界面的工具。 这玩意儿挺快、挺小、挺强大,还跨平台哦。 特点 提交代码到某场比赛的某道题目 查看提交后的情况(动态刷新) 列出某场比赛的所有题目的整体信息 并行地获取某场比赛所有题目(或者某道题)的样例 获取某场比赛所有的最新代码或者AC代码 根据你事先...
2019-04-30 14:42:00
815
转载 换博客
http://blog.xalanq.com/ 转载于:https://www.cnblogs.com/iwtwiioi/p/5966421.html
2016-10-16 12:52:00
427
转载 ITree诞生啦!
经过一个月的码码码,一个面向OIer的ITree终于来辣! ... (似乎把OI遗弃在了某个角落了........... 一个月里,从只会py到写出ITree,真是不容易呢(其实就是两个多礼拜而已= = 时间有80%左右都是在查文档和google上了!!!!人太弱了没办法啊!!!!! 就这样吧>_< 具体信息看github (完了后天期末考估计要跪了............ ...
2016-01-19 21:45:00
569
转载 论傻逼的自我修养之2014集训队作业
由于2015的cc太鬼畜了所以我还是来做2014的吧 现在膜了17道 [CF 263 E] 容斥+二维前缀和搞搞. [CF 301 E] 考虑最大数增量,可以转移,所以dp搞搞. [CF 325 D] 将问题转化为从左到右,并查集搞搞就行了. [CF 274 C] 考虑消失的那个点,只可能是三角形的外形和矩形的中心,暴力找出来然后判是否合法. [USACO Cow Neigh...
2015-11-23 02:24:00
203
转载 【SRM】649 t2
题意 一个数列\(A\),数的范围均在\([0, 2^N-1]\)内,求一个\(B\),使得新生成的数列\(C\)中逆序对最多(\(C_i = A_i xor B\)),输出最多的逆序对。(\(|A|<=10^5\)) 分析 这种题当然要逐位考虑..考虑到二进制和xor,我们需要想到trie... 题解 将数列插入到一棵trie,我们在每一个层记录一个信息,表示\(B\)在这一层取...
2015-11-22 18:53:00
122
转载 【SRM】518 Nim
题意 \(K(1 \le K \le 10^9)\)堆石子,每堆石子个数不超过\(L(2 \le 50000)\),问Nim游戏中先手必败局面的数量,答案对\(10^9+7\)取模。 分析 容易得到\(f(i, k) = \sum_{j=0}^{n-1} f(i-1, j) f(i-1, k^j), f(1, i(2 \le i \le L))=1\),其中\(n=min(2^i, 2^...
2015-11-22 18:52:00
196
转载 弱省互测#2 t3
题意 给出\(n\)个01字节和\(m\)个01字节,要求用后者去匹配前者,两个串能匹配当且仅当除了每个字节末位不同,其他位都要相同。问匹配后者至少有多少个末位不同。(\(1 \le m \le n \le 2.5 \times 10^5\)) 分析 首先我们可以用kmp计算出能匹配的位置,然后单独考虑末位不同的情况。 题解 我们将末尾的位提取出来,则考虑\(n\)个\(01\)位和\(...
2015-11-22 18:50:00
122
转载 弱省互测#2 t2
题意 给两个树,大小分别为n和m,现在两棵树各选一些点(包括1),使得这棵树以1号点为根同构(同构就是每个点的孩子数目相同),求最大的同构树。(n, m<=500) 分析 我们从两棵树中各取出一个点,考虑以这两个点为根能得到的最大同构数。 题解 容易得到: 设\(d(i, j)\)表示第一棵树选\(i\)号点,第二棵树选\(j\)号点所能得到的最大同构数。 那么\(d(i, j)\...
2015-11-22 18:48:00
144
转载 弱省互测#1 t3
题意 给出一棵n个点的树,求包含1号点的第k小的连通块权值和。(\(n<=10^5\)) 分析 k小一般考虑堆... 题解 堆中关键字为\(s(x)+min(a)\),其中\(s(x)\)表示\(x\)状态的权值和,\(min(a)\)表示\(x\)状态相邻的不在\(x\)里的的点的最小权值。 每一次从堆中弹出最小的,然后用这个来拓展。 可以证明,这样第\(k\)次弹出来的状态\(...
2015-11-22 18:46:00
133
转载 弱省互测#0 t3
Case 1 题意 要求给出下面代码的答案然后构造输入。 给一个图, n 个点 m 条边 q 次询问,输出所有点对之间最大权值最小的路径。 题解 把每一个询问的输出看成一条边,建一棵最小生成树。 Case 3 题意 给输出,要求构造输入使得用所给代码运行后得到的输出和给出的输出相同。 所给代码:n 次 Dijkstra 求两点间最短路 分析 考虑一下贪心。 题解 首先还是把每一条最短路的...
2015-11-22 18:44:00
127
转载 弱省互测#0 t2
题意 给定两个字符串 A 和 B,求下面四个问题的答案: 1.在 A 的子串中,不是 B 的子串的字符串的数量。 2.在 A 的子串中,不是 B 的子序列的字符串的数量。 3.在 A 的子序列中,不是 B 的子串的字符串的数量。 4.在 A 的子序列中,不是 B 的子序列的字符串的数量。 其中子串是指本质不同的子串,不同的位置相同的串也只算一个串 |S|<=2000 分析 构造俩自...
2015-11-22 18:42:00
138
转载 弱省互测#0 t1
题意 给一个\(N \times M\)的01网格,1不能走,从起点\((1, 1)\)走到\((N, M)\),每次只能向下或向右走一格,问两条不相交的路径的方案数。(n, m<=1000) 分析 先考虑一条,再考虑去掉相交的情况。 题解 令\(d(a, b, c, d)\)表示从\((a, b)\)走到\((c, d)\)一条路径的方案数,则可以简单得到答案: \[Ans = ...
2015-11-22 18:40:00
129
转载 【HDU】4773 Problem of Apollonius
题意 给定相离的两个圆(圆心坐标以及半径)以及圆外的一个定点\(P\),求出过点\(P\)的且与已知的两个圆外切的所有圆(输出总数+圆心、半径)。 分析 如果强行解方程,反正我是不会。 本题用到新姿势:圆的反演。 二维上的圆的反演通常是指定一个圆\(C\)为基础,其圆心\(O\)为反演中心,其半径\(r\)为反演半径。对于平面上任意一个非反演中心的点\(P\),都有且仅有一个反演点\(P...
2015-11-22 18:36:00
270
转载 【HDU】1599 find the mincost route
题意 \(n(1 \le n \le 100)\)个点\(m(1 \le m \le 1000)\)条加权边的无负环无向图,求一个最小环。 分析 加入有一个环,其编号最大的点为\(L\),那么这个环可以看为\(L\)与其相邻的两个点\(A\)和\(B\)与\(A\)到\(B\)的最短路上的点(编号均小于\(L\)的最短路)。 考虑floyd算法,由于该算法每次都是求出了\(1\)到\(k...
2015-11-22 18:35:00
132
转载 【BZOJ】4245: [ONTAK2015]OR-XOR
题意 给定一个长度为\(n(1 \le n \le 500000)\)的序列\(a_i(0 \le a_i \le 10^{18})\),将它划分为\(m(1 \le m \le n)\)段连续的区间,设第\(i\)段的费用\(c_i\)为该段内所有数字的异或和,则总费用为\(c_1 \ or \ c_2 \ or \ ... \ or \ c_m\)。请求出总费用的最小值。 分析 这种...
2015-11-22 18:33:00
145
转载 【BZOJ】4144: [AMPPZ2014]Petrol
题意 给定一个\(n\)个点、\(m\)条边的带权无向图,其中有\(s\)个点是加油站。每辆车都有一个油量上限\(b\),即每次行走距离不能超过\(b\),但在加油站可以补满。\(q\)次询问,每次给出\(x,y,b\),表示出发点是\(x\),终点是\(y\),油量上限为\(b\),且保证\(x\)点和\(y\)点都是加油站,请回答能否从\(x\)走到\(y\)。(\(2 \le s ...
2015-11-22 18:30:00
187
转载 【BZOJ】4056: [Ctsc2015]shallot
题意 在线、可持久化地维护一条二维平面上的折线,支持查询与任意一条直线的交点个数。 点的个数和操作个数小于\(10^5\) 分析 一条折线可以用一个序列表示,可持久化序列考虑用可持久化treap。 如何判断交点?如果有交点,那么一定与包含这个折线的矩阵有交点。 题解 所以我们可持久化treap一下即可,虽然这个复杂度很不靠谱,纯rp算法。 #include <bits/stdc++...
2015-11-22 18:28:00
232
转载 【BZOJ】4002: [JLOI2015]有意义的字符串
题意 求$\left \lfloor \left( \frac{b+\sqrt{d}}{2} \right)^n \right \rfloor \pmod {7528443412579576937} \(,\)\left( 0 \le n \le 10^{18}, 0 < b^2 \le d < (b+1)^2 \le 10^{18}, b \mbox{ mod } 2 = ...
2015-11-22 18:09:00
148
转载 【BZOJ】4001: [TJOI2015]概率论
题意 求节点数为\(n\)的有根树期望的叶子结点数。(\(n \le 10^9\)) 分析 神题就打表找规律.. 题解 方案数就是卡特兰数,$h_0=1, h_n = \sum_{i=0}^{n-1} h_i h_{n-1-i} \(。 设叶子数量和为\)f_n\(,则得到\)f_n = 2 \sum_{i=0}^{n-1} f_i h_{n-1-i}$ 设\(H(x)\)表示\(h_n...
2015-11-22 18:06:00
179
转载 【BZOJ】3997: [TJOI2015]组合数学
题意 \(N \times M\)的网格,一开始在\((1, 1)\)每次可以向下和向右走,每经过一个有数字的点最多能将数字减1,最终走到\((N, M)\)。问至少要走多少次才能将数字全部变为\(0\)。(\(N, M<=1000, a_{i, j}<=10^6\)) 分析 结论题QAQ,不会证明... 题解 设\(d(i, j)\) \(d(i, j) = max( d(...
2015-11-22 18:05:00
130
转载 【BZOJ】3996: [TJOI2015]线性代数
题意 给出一个\(N \times N\)的矩阵\(B\)和一个\(1 \times N\)的矩阵\(C\)。求出一个\(1 \times N\)的01矩阵\(A\),使得\[ D = ( A * B - C ) * A^T \]最大,其中\(A ^ T\)是矩阵\(A\)的转置。(\(n<=500\)) 分析 好神的题。首先我们容易推出一个式子: \[ D = \sum_{i=1...
2015-11-22 18:03:00
124
转载 【BZOJ】3994: [SDOI2015]约数个数和
题意: \(T(1 \le T \le 50000)\)次询问,每次给出\(n, m(1 \le n, m \le 50000)\),求\(\sum_{i=1}^{n} \sum_{j=1}^{m} d(ij)\),其中\(d(n)\)表示\(n\)的约数个数 分析 有个结论: $$\sum_{x_1}^{y_1} \sum_{x_2}^{y_2} \cdots \sum_{x_k}^...
2015-11-22 17:56:00
90
转载 【BZOJ】3993: [SDOI2015]星际战争
题意 \(m\)个人\(n\)个物品,第\(i\)个物品生命值为\(A_i\),第\(i\)个人每秒可以减少一个物品\(B_i\)的生命值,给出一个\(m \times n\)的矩阵,如果\(i\)行\(j\)列为\(1\),则表示第\(i\)个人可以攻击第\(j\)个物品,否则不能攻击,问至少需要多少秒,能干掉所有物品。一个物品被干掉当且仅当生命值小于等于\(0\)。(\(n, m \...
2015-11-22 17:55:00
119
转载 【BZOJ】3991: [SDOI2015]寻宝游戏
题意 给一个\(n\)个点带边权的树。有\(m\)次操作,每一次操作一个点\(x\),如果\(x\)已经出现,则\(x\)消失。否则\(x\)出现。每一操作后,询问从某个点开始走,直到经过所有出现的点,最后再回到开始的那个点的最短路程。 分析 首先容易知道我们选任意一个在某两点路径上的点作为起点都能得到最优解(包括端点)。我们只需要考虑走的顺序。 题解 由于按照dfs序的走法是最短的,因...
2015-11-22 17:53:00
147
转载 【BZOJ】3930: [CQOI2015]选数
题意 从区间\([L, R]\)选\(N\)个数(可以重复),问这\(N\)个数的最大公约数是\(K\)的方案数。(\(1 \le N, K \le 10^9, 1 \le L \le R \le 10^9, H-L \le 10^5\)) 分析 好神的题。注意\(H-L \le 10^5\)这个条件,则假设\(N\)个数不全相同,那么他们的最大公约数小于最大和最小的两个数之差,证明很简...
2015-11-22 17:52:00
109
转载 【BZOJ】3922: Karin的弹幕
题意 给定一个长度为\(n(1 \le n \le 70000)\)序列,\(m(1 \le m \le 70000)\)次操作:1. 对一段下标是等差数列的子序列求最大值;2. 单点修改。 分析 如果公差很大,那么速度是很快的。所以我们考虑阈值。 题解 设阈值\(k\)表示如果询问的公差小于等于\(k\)则用线段树求,否则暴力。 则我们对阈值每一个公差\(i(1 \le i \le k...
2015-11-22 17:50:00
178
转载 【BZOJ】3835: [Poi2014]Supercomputer
题意 \(n(1 \le 1000000)\)个点的有根树,\(1\)号点为根,\(q(1 \le 1000000)\)次询问,每次给一个\(k\),每一次可以选择\(k\)个未访问的点,且父亲是访问过的,要求最少次数访问完所有的点。 分析 神题不会做。 题解 得到一个式子\(ans=max(i+ \left \lceil \frac{s[i]}{k} \right \rceil), 0...
2015-11-22 16:07:00
174
转载 【BZOJ】3832: [Poi2014]Rally
题意 \(n(2 \le n \le 500000)\)个点\(m(1 \le m \le 1000000)\)条边的有向无环图,找到一个点,使得删掉这个点后剩余图中的最长路径最短。 分析 神题不会做。 题解 首先我们新建个源\(s\)和汇\(t\),连边\(s->i, i->t\),最远距离分别为\(d[i, 0]\)和\(d[i, 1]\),则一个图中的最长链就是\(ma...
2015-11-22 16:06:00
110
转载 【BZOJ】3751: [NOIP2014]解方程
题意 求\(\sum_{i=0}^{n} a_i x^i = 0\)在\([1, m]\)内的整数解。(\(0 < n \le 100, |a_i| \le 10^{10000}, a_n \neq 0, m \le 1000000\)) 分析 神题。 题解 我们可以取几个质数然后对应取模来计算即可。可是在经过变态的加强数据后,不是tle就是wa。 于是我们可以用一个正确率很低的优...
2015-11-22 16:04:00
119
转载 【BZOJ】3737: [Pa2013]Euler
题意: 求满足\(phi(a)=n\)的\(a\)的个数。(\(n \le 10^{10}\)) 分析 这种题一开始就感觉是搜索= = 题解 首先容易得到 \[\phi(n) = \prod_{i} p_i^{a_i-1} (p_i - 1)\] 然后我们\(O(n^{0.5})\)预处理以下前\(n^{0.5}\)的素因子,然后再用\(O(n^{0.5}log(n))\)筛出大质数,然...
2015-11-22 16:02:00
128
转载 【BZOJ】3714: [PA2014]Kuglarz
题意 \(n(1 \le n \le 2000)\)个数每个数是\(0\)或\(1\),现在可以花费\(c_{i, j}\)知道\([i, j]\)的奇偶性,问将所有数都找出来的最小花费。 分析 如果知道了所有的前缀和,那么我们就知道了所有数。 对于区间\([i, j]\),那么如果知道了\(sum[i-1]\),那么就知道了\(sum[j]\),连边。反之亦然。 最终其实我们就是将前缀...
2015-11-22 16:00:00
115
转载 【BZOJ】3561: DZY Loves Math VI
题意 求\(\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)^{gcd(i, j)}\)(\(n, m<=500000\)) 分析 很显然要死推莫比乌斯 题解 设\(n \le m\) \[ \begin{aligned} ans & = \sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)^{gcd(i, j)} \...
2015-11-22 15:59:00
103
转载 【BZOJ】3542: DZY Loves March
题意 \(m * m\)的网格,有\(n\)个点。\(t\)个询问:操作一:第\(x\)个点向四个方向移动了\(d\)个单位。操作二:询问同行同列其他点到这个点的曼哈顿距离和。强制在线。(\(n \le 10^5,m \le 10^{18}\)) 分析 没啥好分析的,就是推一下能推出每行每列的一个式子来,然后套两个区间维护的结构就行了。 题解 set + 线段树 #include <...
2015-11-22 15:58:00
159
转载 【BZOJ】3526: [Poi2014]Card
题意 \(n(n \le 200000)\)张卡片,正反有两个数\(a[i], b[i]\)。\(m(m \le 1000000)\)次操作,每次交换\(c[i]、d[i]\)位置上的卡片。每一次操作后输出是否存在一种方案使得正面朝上的数从左到右单调不降。 分析 直接考虑线段树维护。 题解 线段树每个结点记录4个信息\(a[i][j]\),表示左边的\(i\)在这个结点区间能否和右边的\...
2015-11-22 15:57:00
127
转载 【BZOJ】3523: [Poi2014]Bricks
题意 \(n(n \le 1000000)\)个物品,颜色分别为\(a[i]\),现在要求排在一排使得相邻两个砖块的颜色不同,且限定第一个砖块和最后一个砖块的颜色,输出一个合法解否则输出-1。 分析 贪心?反正我不会证明。 题解 从左到右扫,每次放一个数量最多且合法的砖块,如果数量相同,优先放末尾的。 #include <bits/stdc++.h> using namesp...
2015-11-22 15:56:00
152
转载 【BZOJ】3521: [Poi2014]Salad Bar
题意 长度为\(n(1 \le n \le 1000000)\)的\(01\)字符串。找一个最长的连续子串\(S\),使得不管是从左往右还是从右往左取,都保证每时每刻已取出的\(1\)的个数不小于\(0\)的个数。 分析 首先对\(i\)求出\(l_i, r_i\),\(l_i\)表示在区间\([l_i, i]\)从左往右一直取,\(1\)的个数总是不少于\(0\)的个数的最远\(l_i...
2015-11-22 15:54:00
150
转载 【BZOJ】3505: [Cqoi2014]数三角形
题意 \(n * m(1 \le n, m \le 1000)\)的网格,求顶点在格点上三角形的个数。 分析 假设\(n \le m\) \(ans = \binom{(n+1) * (m+1)}{3} - L\),其中\(L\)表示三点共线的方案数。 所以 $$ \begin{align} L & = \frac{1}{2} \sum_{dx=0}^{n} \sum_{dy=...
2015-11-22 15:52:00
120
转载 【BZOJ】3495: PA2010 Riddle
题意 \(n(1 \le n \le 1000000)\)个城市,\(k(1 \le k \le n)\)个国家,\(m(1 \le m \le 1000000)\)条边。要求每个国家有且仅有一个首都,每条边两端的城市至少要有一个首都。判断是否有解。 分析 满足性问题。而且每个城市只有两种情况,首都or不是首都。所以考虑2-sat 题解 对于每一个点,拆点为\(i\)和\(i'\),表示...
2015-11-22 15:52:00
104
转载 【BZOJ】3437: 小P的牧场
题意 n个点,需要再一些点建立控制站,如果在第\(i\)个建站,贡献为\(a[i]\)。假设前一个站为\(j<i\),则\([j+1, i]\)的点的贡献是\(\sum_{k=j+1}^{i} (i-k) b[k]\)。同时要求第\(n\)个点建站。求最小贡献。(\(n \le 10^6\)) 题解 设\(d(i)\)表示前\(i\)个且在第\(i\)个牧场建控制站的最小贡献 则 ...
2015-11-22 14:37:00
144
转载 【BZOJ】3427: Poi2013 Bytecomputer
题意: 给定一个长度为\(n\)的\(\{-1, 0, 1\}\)组成的序列,你可以进行\(x_i=x_i+x_{i-1}\)这样的操作,求最少操作次数使其变成不降序列。(\(n \le 1000000\)) 分析: 我们考虑第\(i\)个数,如果\(x_i < x_{i-1}\),要想\(x_i \ge x_{i-1}\),那么\(x_i\)至少要加一次\(x_{i-1}\)才能...
2015-11-22 14:36:00
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人