首先存这些字符,用trie来存,通过trie就很容易联想到树型DP,这里的DP就不是取最优值之类的了,而是用来弄到达某个节点的胜负情况。
我们首先设节点v,win[v]代表已经组装好的字符刚好匹配到v了,然后需要进行下一步匹配时,先手是否可以赢,lose[v]则代表先手是否会输。
叶节点,win[v] = false, lose[v] = true.
其他节点 win[v] = win[v] | !win[child], lose[v] = lose[v] | !lose[child]. (因为每次赢的...
分类:
其他好文 时间:
2014-10-23 22:42:57
阅读次数:
191
我们可以通过预处理,在O(n)之内,算出f(1, i, a[i]) 定义数组为l[i], 算出f(j, n, a[j]) 定义数组为r[i]。
题目就转化为:求出 l[i] > r[j] (i < j)。
本质上,就是一个求逆序对的做法,用树状数组。...
分类:
其他好文 时间:
2014-10-23 00:09:08
阅读次数:
249
把这题抽象一下,每个人,在1~K个数中选数字,组成d长度的序列,要求每个序列不能完全相同,数字可以重复选。
进一步抽象一下,每个人的乘坐公交的序列,就是d位k进制数,最多可以分配的序列个数为 k^d。如若 n <= k^d,则从0(k进制),每次+1输出,反之没有答案。
举个例子进一步说说明:
n = 8, k = 3, d = 4。 这里的0表示标记为1的公交,1为标记为2的公交,以此类推
第一个人的序列: 0, 0, 0, 0
第二个人的序列: 0, 0, ...
分类:
其他好文 时间:
2014-10-22 22:02:15
阅读次数:
271
B表示完全看不懂。。就不弄了。。E字符串先不管了。到时候系统学下字符串再处理A#include #include #include #include #include #include #include #include #include #include #include #include #in...
分类:
其他好文 时间:
2014-10-22 14:19:54
阅读次数:
392
1 /************************************************************************* 2 > File Name: D.cpp 3 > Author: Stomach_ache 4 > Mail: suda...
分类:
其他好文 时间:
2014-10-22 10:52:34
阅读次数:
198
先预处理出能到当前点的区间,然后通过前缀和求得当前值即可。#include #include #include #include #include #include #include #include #include #include using namespace std; #define MP...
分类:
其他好文 时间:
2014-10-21 23:06:45
阅读次数:
274
之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map感觉set,map的功能挺类似的,在此小结;这里就不具体比较相同点和不同点了,免得看起来乱七八糟的,这里分别细说;set:#include sets;(类型可为int,char,string)功能主...
分类:
其他好文 时间:
2014-10-21 02:13:54
阅读次数:
222
昨天打了场div2 成绩不错AK了 希望以后还能有5:00的比赛…
479A Expression
给你3个数字 不让换顺序 中间填+或*使结果最大 把情况写出来就好了…
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-10-20 10:05:11
阅读次数:
233
Codeforces Round #274 (Div. 2)...
分类:
其他好文 时间:
2014-10-20 00:49:25
阅读次数:
277
开始按照顺序刷刷以前的CF。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #...
分类:
其他好文 时间:
2014-10-18 22:15:48
阅读次数:
246