摘要: 题 题意 有n个点,代号分别为0到n-1,然后第i个点有di个相连点,与i 相连的点的XOR sum 为si,求所有的边。 分析 知识:a^b^a=b,a^b^b=a. 把相连点为1的i存进队列,i的唯一相连点就是S。 然后得到一条边i到s,对i的相连点S,d--,s^=i,就相当于去掉i这个点。 阅读全文
posted @ 2016-02-14 23:28 水郁 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 题 题意 给你一个字符串s1,字符串s2,s1循环移位,使s2包含在s1中,则s2 是s1的亲和串 分析 把s1自身复制一遍接在后面。 方法一: 用strstr函数。 方法二: KMP算法。 方法三: 用C++的string的find函数。 代码 方法一: 方法二: 方法三 阅读全文
posted @ 2016-02-14 17:11 水郁 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 题 题意 给你一串数,a1...an,从左到右每次让一个数减小c,如果这个数小于c,那就减为0。第n个数减小后,又从第一个开始从左到右。如果这次某个数减小到0,那就改变方向,如果遇到已经是0的,就跳过。且总共最多减少n+5次,求最后变为0的数是第几个。 分析 1 8 80200 100 100 10 阅读全文
posted @ 2016-02-14 10:23 水郁 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 题 题意 有n个(n≤100)等级的珍珠,等级越高单价越高,要购买一种等级的珍珠就要多付10*单价,现在需要购买一些等级的珍珠一定数量,若买更高等级的珍珠更便宜则可以买更高等级的珍珠,求最少花费。 分析 我原来想贪心(如果该等级买,不如后一等级多买那么多更优,那就不买该等级),然而是错的,怎么证明不 阅读全文
posted @ 2016-02-14 02:01 水郁 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 题 题意 对给定的对手的出拳顺序,如果只能按几个R,然后几个P,再几个S的顺序出拳(几个也可以是0个),那么求赢的方法有多少种。 分析 我原来想枚举P开始的位置和S开始的位置然后算得分,但是超时了o(╯□╰)o。。因为时间复杂度T(n^3)最大规模是500,而这里n≤1000。 用前缀和思想,s[i 阅读全文
posted @ 2016-02-14 01:32 水郁 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 重要的事实: 当代计算机1s内可做10^7左右次计算 配置好的机器可到k*10^7~10^8 当代计算机1s内可做10^7左右次计算 配置好的机器可到k*10^7~10^8 复杂度 阅读全文
posted @ 2016-02-14 01:22 水郁 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 题 题意 每个单词,如果字典里存在,输出”该单词 is correct“;如果字典里不存在,但是可以通过删除、添加、替换一个字母得到字典里存在的单词,那就输出“该单词:修正的单词”,并按字典里的顺序输出;如果都不存在,那就输出“单词:”就好。。。 分析 存下字典单词们和它们的长度,对每个要查找的单词 阅读全文
posted @ 2016-02-14 01:03 水郁 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 题 题意 给你20个城市的相邻关系,求给定任意两个城市的最短距离 分析 求任意两个城市最短距离,就是用floyd算法,我脑残忘记了k是写在最外层的。 代码 阅读全文
posted @ 2016-02-14 00:53 水郁 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 内容: 对n个点(n<=450),已知他们的边,也就是相邻关系,求任意两个点的最短距离。 代码: 证明:参考 对于0~k,我们分i到j的最短路正好经过顶点k一次和完全不经过顶点k两种情况来讨论。 不经过顶点k的情况下,d[k][i][j] = d[k-1][i][j]。 经过顶点k的情况,d[k][ 阅读全文
posted @ 2016-02-14 00:52 水郁 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 题 题意 a加上 a的各位数=b,则b是a的digitSum,a是b的generator,现在给你digitSum,让你求它的最小的generator。 分析 一种方法是: 预处理打表,也就是把1到100000的digitSum求出来,对每个digitSum保存最小的generator。 另一种方法 阅读全文
posted @ 2016-02-14 00:29 水郁 阅读(986) 评论(0) 推荐(0) 编辑
……