其它题库
文章平均质量分 53
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
UOJ #30. 【CF Round #278】Tourists Tarjan+树链剖分
题目链接:http://uoj.ac/problem/30题目大意:给定一张无向连通图,每个点有点权,多次询问两个点之间的简单路径上最小点权值的最小值首先求的是最小点权值的最小值 那么我们肯定要走点权越小的点越好 但是由于求的是简单路径 那么我们就不能经过同一个点两次那么我们Tarjan求点双联通分量 每个点双维护一个最小值 那么答案显然就是两点所在点双路径上的最小值 树链剖分即可 (原创 2014-12-01 17:24:48 · 2517 阅读 · 1 评论 -
codeforces #468C Hack it! 构造
题目大意:令f(x)f(x)为xx每一位上的数字之和,现在给定nn,求一个区间[l,r][l,r],使得∑ri=lf(i) mod n=0\sum_{i=l}^r f(i)\ mod\ n=0 sy在Wc讲的一道题= = 当10k>x10^k>x时f(10k+x)−f(x)=1f(10^k+x)-f(x)=1 因此设sum=∑10ki=1f(i)sum=\sum_{i=1}^{10^k}f(i原创 2015-05-19 09:29:26 · 2323 阅读 · 0 评论 -
codeforces 432E Square Tiling 贪心
题目大意:给定一个n∗mn*m的矩阵,要求用正方形砖块覆盖,使得任意两块同颜色的正方形砖块不相邻且字典序最小枚举每一块砖,如果这个位置为空,就填入字典序最小的砖块,然后将边长一格格拓展 如果当前右侧位置可以填入字典序更小的砖块,就不拓展 否则判断能否拓展并拓展#include <cstdio>#include <cstring>#include <iostream>#include <al原创 2015-05-19 10:56:31 · 1444 阅读 · 0 评论 -
codeforces #550D Regular Bridge 构造
题目大意:给定k(1≤k≤100)k(1\leq k\leq100),要求构造一张简单无向连通图,使得存在一个桥,且每个点的度数都为kk kk为偶数时无解 证明: 将这个图缩边双,可以得到一棵树 那么一定存在一个叶节点,只连接一条桥边 那么这个边双内部所有点度数之和为偶数 除掉连出去的桥边外度数之和为奇数 故不合法 然后kk为奇数的时候我们只需要构造两个对称的边双被一条桥边连接的图就行了原创 2015-06-05 13:14:29 · 1327 阅读 · 0 评论 -
codeforces #550E Brackets in Implications 构造
题目大意:定义在集合{0,1}\{0,1\}上的运算符“→\rightarrow”,定义如下: 0→0=10\rightarrow 0=1 0→1=10\rightarrow 1=1 1→0=01\rightarrow 0=0 1→1=11\rightarrow 1=1 现在给定一个表达式a1→a2→a3→...→ana_1\rightarrow a_2\rightarrow a_3\ri原创 2015-06-05 14:08:48 · 1401 阅读 · 0 评论 -
codeforces #464C Substitutes in Number
题目大意:给定一个10510^5位的数字,每次操作选择一个数字x(0≤x≤9)x(0\leq x\leq9),将所有的xx替换成数字串ss,求最终的结果 mod 109+7\ mod\ 10^9+7 由于最终数字的长度是指数级别的,我们不能模拟 考虑倒着做 fi,jf_{i,j}表示执行[i,n][i,n]中的所有操作后数字j(0≤j≤9)j(0\leq j\leq9)会变成什么 当然这个数原创 2015-06-24 17:48:59 · 1245 阅读 · 0 评论 -
codeforces Round #310(Div.1) 题解
嘴巴选手真爽,一不用打代码二不用掉Rating三还可以打杂。。。。 感觉这套题不难,但是被出题人出瞎了。。。555A. Case of Matryoshkas题目大意:给定nn个大小从11到nn的套娃,初始套成kk坨,每次你可以选择两个操作: 1.选择一个不在任何其他套娃里的套娃,将里面的套娃取出来(要求原先里面有套娃) 2.选择一个不再任何其他套娃里的套娃,将一个套娃塞进去(要求原先里面没有原创 2015-06-29 22:00:31 · 1595 阅读 · 0 评论 -
codeforces #549 Looksery Cup 部分题解
掉Rating快乐~~A.Face Detection题目大意:给定一个n∗mn*m的矩阵,求有多少2∗22*2的子矩形满足单词“face”的每个字母在矩形中恰好出现一次签到题#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M 55using namespace std;i原创 2015-06-09 17:28:57 · 1334 阅读 · 0 评论 -
codeforces #576E Painting Edges 分治+并查集
题目大意:给定一张nn个点mm条边的无向图,每条边有一个颜色(初始为无色),qq次操作,每次将一条边染为kk种颜色之一,要求染完后对于任意i=1...ki=1...k,当只有颜色为ii的边存在的时候这张图是一个二分图,如果不满足条件就不进行修改,对于每次修改输出是否成功这显然是一个动态二分图问题,分治并查集解法戳这里 但是这道题我们并不知道每条边的具体存在时间 因此我们这样: 假设每次修改都生原创 2015-09-15 15:00:13 · 1918 阅读 · 0 评论 -
codeforces #568B Symmetric and Transitive 快速傅里叶变换
题目大意:给定nn,求有多少组大小为nn的集合上的二元关系,使其满足对称性、传递性,但不满足自反性一组二元关系满足条件等价于存在一个点使其不在任何一个二元关系中考虑将点划分成一些集合,那么大小为11的集合有两种(有自环和没自环),大小为i(i>1)i(i>1)的集合有一种(完全图,且每个点上都有自环) 构造指数级生成函数C(x)=2∗x1!+x22!+x33!+...=ex+x−1C(x)=2*\原创 2015-10-12 16:05:25 · 2225 阅读 · 2 评论 -
codeforces #271E Three Horses 数论
题目大意:有一种卡片,正面和背面各写着一个整数,可以用一个有序数对(x,y)(x,y)表示 有三种操作: 1.出示一张卡片(x,y)(x,y),获得一张卡片(x+1,y+1)(x+1,y+1) 2.出示一张卡片(x,y)(x,y(x,y)(x,y都是偶数)),获得一张卡片(x2,y2)(\frac x2,\frac y2) 3.出示两张卡片(x,y)(x,y)和(y,z)(y,z),获得一张原创 2015-05-18 17:54:36 · 1287 阅读 · 0 评论 -
codeforces #306D Polygon 构造
题目大意:给定nn,要求构造一个凸nn边形,使得每个内角都相同,每条边长度都不同 膜拜题解 其实我一开始想的是构造一个正nn边形然后把每条边微移一下……不过似乎不是很好写的样子= =#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M 110原创 2015-05-18 15:54:39 · 1430 阅读 · 0 评论 -
codeforces #303A Lucky Permutation Triple 构造
题目大意:给定nn,要求构造三个00~n−1n-1的排列A,B,CA,B,C,使得对于任意i(i∈[0,n−1])i(i\in[0,n-1])满足Ai+Bi≡Ci(mod n)A_i+B_i≡C_i(mod\ n) 首先我们来考虑nn是奇数的情况。以n=7n=7为例 A 0 1 2 3 4 5 6A\ 0\ 1\ 2\ 3\ 4\ 5\ 6 B 6 4 2 0 5 3 1B\ 6\ 4\ 2\原创 2015-05-18 13:17:59 · 1387 阅读 · 0 评论 -
Ural 2040 Palindromes and Super Abilities 2 回文自动机
题目大意:给定一个字符串,从左到右依次加入每个字符,问每加入一个字符之后本质不同的回文串的数量增加多少http://blog.csdn.net/huyuncong/article/details/41181953回文自动机OTZ注意:1.这道题必须把奇串和偶串分开建 如果通过插入分隔符的方式建在一起会MLE2.把长度为500W的01串一个一个输出会T掉 存在一个char数组原创 2015-03-26 13:10:48 · 1993 阅读 · 0 评论 -
Codeforces Round #521 D Shop 堆
题目大意:给定k个数,n个操作,每个操作有三种类型:a[i]=ba[i]+=ba[i]*=b现在你可以进行最多m次操作,每个操作最多进行一次,要求操作结束后乘积最大按使用的顺序输出每个操作的编号乱七八糟地写了一发D……结果最后没调出来QAQ B题ye原创 2015-03-06 15:54:21 · 1396 阅读 · 0 评论 -
codeforces #250E The Child and Binary Tree 快速傅里叶变换
题目大意:给定一个集合SS,对于i=1...mi=1...m求有多少二叉树满足每个节点的权值都在集合SS中且权值和为ii 构造答案多项式F(x)F(x)和集合SS的生成函数C(x)C(x),那么 根节点的左子树是一棵二叉树,右子树是一棵二叉树,本身的权值必须在集合S中,此外还有空树的情况 故有F(x)=F2(x)C(x)+1F(x)=F^2(x)C(x)+1 解得F(x)=1±1−4C(x)原创 2015-04-28 20:35:44 · 1860 阅读 · 2 评论 -
codeforces #460D Little Victor and Set 构造
题目大意:给定一个区间[l,r][l,r],你需要在这个区间中选择最多kk个不同的数,使得异或和最小当r−l+1≤4r-l+1\leq4时,暴力枚举集合即可 当r−l+1≥5r-l+1\geq5时,讨论: 若k≥4k\geq4,则[l,r][l,r]中一定存在一组数为2k,2k+1,2k+2,2k+32k,2k+1,2k+2,2k+3,故答案为0 若k=1k=1,则只能取ll 若k=2k=2原创 2015-05-13 11:21:49 · 1417 阅读 · 0 评论 -
codeforces#36E Two Paths DFS
题目大意:给定一张n=10000,m<=10000n=10000,m<=10000的图,要求将这张图分割成两条不相交、不重复的路径,输出任意一组方案或无解蛮水的一道题- - 首先m=1m=1一定无解 然后判断有效点的连通块数,若≥3\geq 3则无解 若连通块数量为22,则这两条路一定是每个连通块中的一条欧拉通路 若连通块的数量为11,讨论: 若度数为奇数的点>4>4,无解 若度数为奇数原创 2015-05-13 15:44:40 · 1724 阅读 · 0 评论 -
codeforces #402C Searching for Graph 构造
题目大意:给定nn和pp,我们需要构造一张点数为nn,边数为2n+p2n+p的简单无向图,满足任意一个点数为kk的子图的边数不超过2k+p2k+p逗B题……我们只需要把字典序最小的2n+p2n+p条边输出就行了 下面我们来证明这么做是对的首先这个条件等价于【删掉任意kk个点,都有至少2k2k条边被跟着删掉】 然后我们来看这样一个图: 显然这个图是我们构造的图的子图 下面我们来证明这个性质原创 2015-05-15 20:42:21 · 1613 阅读 · 0 评论 -
codeforces #8D Two Friends 二分答案+计算几何
题目大意:给定平面上的三个点A,B,CA,B,C,AlanAlan需要从AA走到CC再走到BB,BobBob需要从AA直接走到BB,要求AlanAlan走过的长度不能超过最短路长度+t1t1,BobBob走过的长度不能超过最短路长度+t2t2,求两人在一起最多走多久(分开后再汇合不算一起走)设AlanAlan最多走L1L1,BobBob最多走L2L2 首先如果BobBob能陪伴AlanAlan全程原创 2015-05-14 11:51:19 · 1704 阅读 · 0 评论 -
codeforces #398C Tree and Array 构造
题目大意:给定一棵nn个点的树和一个数组,数组初始为空,然后进行以下操作: 对于每条边(x,y)(x<y)(x,y)(x<y),如果这条边边权为zz,就在数组中将[x,y][x,y]区间内的每个数+z+z 操作结束后统计数对(x,y)(x<y)(x,y)(x<y),满足在树上xx和yy之间的路径上的权值和等于数组上[x,y][x,y]的区间和 现在给定nn,要求构造一棵nn个点的树,满足这样的原创 2015-05-16 15:49:14 · 1168 阅读 · 0 评论 -
codeforces #547D Mike and Fish 欧拉回路
题目大意:给定平面上的n个点,要求将每个点染成红色/蓝色,使得每行/每列的红色点数和蓝色点数之差≤1\leq 1将每一个横坐标/纵坐标看做一个点,每个点看做一条连接两个坐标的边 现在我们要将每条边染色使得每个点连接的所有边中两种颜色之差≤1\leq 1首先找到度数为奇数的点 这样的点一定有偶数个 将度数为奇数的点两两配对连边,这样所有点的度数就都是偶数了 然后对于每个连通块,任选一个初始度数为原创 2015-05-28 17:14:22 · 2635 阅读 · 0 评论 -
UOJ#50 【UR#3C】链式反应 FFT求解多项式线性常微分方程
题目大意:给定nn和集合CC,对于i=1..ni=1..n求多少ii个节点有标号的多叉树满足: 1.父亲节点的标号大于子节点 2.一个点如果有儿子,则有两个无序的α\alpha型儿子,有cc个无序的β\beta型儿子,其中c∈Cc\in C 3.如果一个点是根节点或α\alpha型儿子,那么它可以有儿子或者是一个叶节点;如果一个点是β\beta型儿子,那么它只能是一个叶节点由于有标号,所以这里原创 2016-11-15 16:24:12 · 2669 阅读 · 2 评论