题目连接:https://vjudge.net/problem/UVALive-3942 trie树 dp[i]=sum(dp[i+len(x)]%mod; dp[i]表示从字符i开始的字符串的分解方案方案数,x是s[i……L]的前缀 lrj: 1 // LA3942 Remember the Wo ...
分类:
其他好文 时间:
2017-04-21 20:29:35
阅读次数:
156
题意:初始时给出一个图,每个点有一个权值,三种操作:(1)删除某个边;(2)修改每个点的权值;(3)询问与节点x在一个连通分量中所有点的第K大的权值。 析:首先是要先离线,然后再倒着做,第一个操作就成了加边操作,很容易实现,第二操作,就是分成两个操作,先把x结点删掉,然后再插入一个新结点, 最后一个 ...
分类:
其他好文 时间:
2017-04-21 20:01:55
阅读次数:
157
题目连接:https://vjudge.net/problem/UVALive-4329 lowbit.. ...
分类:
编程语言 时间:
2017-04-21 09:54:38
阅读次数:
250
题目链接:https://vjudge.net/problem/UVALive-3905 ...
分类:
其他好文 时间:
2017-04-18 18:50:21
阅读次数:
116
题目链接:https://vjudge.net/problem/UVALive-3902 ...
分类:
其他好文 时间:
2017-04-18 14:05:50
阅读次数:
157
题目连接:https://vjudge.net/problem/UVALive-3971 ...
分类:
其他好文 时间:
2017-04-17 23:39:51
阅读次数:
271
题意是黑板上有n个数\(S_i\)。每次操作可以把其中一个数减1或者将两个数合并为一个数。一个数变为0时,则不能再对其操作。 思路是发现最大的可操作次数为\( \sum S_i\)+(n - 1)。\( \sum S_i\)是把所有数消除需要的操作数。(n-1)表示我们最多可以合并(n-1)次。 同 ...
分类:
其他好文 时间:
2017-04-16 17:44:22
阅读次数:
189
题目链接:UVALive - 3668 题目大意为给定n堆石子,每次的操作是选择三个数i<j<=k,从i中拿一枚石子,在j和k中分别放入一枚石子。不能操作者输。求先手是否能赢,若可以,则输出字典序最小的第一步操作。 思路是把在每个位置上的每颗石子当成一个游戏。 用SG[i]表示在第i堆中的一颗石子的 ...
分类:
其他好文 时间:
2017-04-16 14:08:32
阅读次数:
193
这是第一次写斜率优化DP= =。具体的做法参照周源论文《浅谈数形结合思想在信息学竞赛中的应用》。这里仅提供一下AC的代码。 有两点值得注意:1.我这个队列的front和back都是闭区间的;2.在while(...) front++; 这个循环里面,<=写成<就会WA,不知道是为何(讲道理是肯定没问 ...
分类:
其他好文 时间:
2017-04-14 14:16:33
阅读次数:
103
本以为这题n=3000,随便n方一下就能过。于是我先枚举长度len再枚举起点,不断增加新的点并删除原来的点,判断在b中的r-l+1是不是等于len即可,这个过程显然要用set维护比较方便,但是貌似卡了这个log,T了= =。 然后修改了一下思路,先枚举左端点,再不断的向有扩张,并用两个变量l和r来标 ...
分类:
其他好文 时间:
2017-04-13 14:40:10
阅读次数:
154