- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 BZOJ 1031 字符加密【后缀数组】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1031题解: 后缀数组…我们只需要用后缀数组 维护一下,把字符串复制一遍再求sa数组即可。代码:#include <cstdio> #include <cstring>using namespace std;typedef long long LL;const int inf = 1 <<
2017-04-16 10:24:00 276
原创 BZOJ4198或UOJ130 荷马史诗 【K叉哈夫曼树】【堆】
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4198 http://uoj.ac/problem/130题解: 用一个堆来维护一个K叉哈夫曼树,如果无法合并(即n-1不为k-1的倍数时),就补充n-k个虚拟节点,节点的权值为0(不会影响结果),再合并即可。代码:#include <cstdio> #include <cst
2017-04-09 11:37:36 546
原创 POJ3071 Football 【概率dp】
题目链接:http://poj.org/problem?id=3071题意: 足球赛制是淘汰赛,每次是1和2打比赛,3和4……然后1和2的胜者和3和4的胜者打比赛,i打j的胜率是 Pij,问哪只队伍最有可能夺冠?(即获胜概率最高)。题解: 简单的概率dp题,只需要判断一下j和k能否碰上即可。代码:#include <cstdio> #include <cstring> #include <ios
2017-04-08 17:06:08 455
原创 POJ1185 炮兵阵地 【状压dp】
题目链接:http://poj.org/problem?id=1185 本题为NOI2001 真题。题解: 我们先通过预处理(dfs)求出第 i 行的方案数以及方案。 然后判断行、列是否冲突就可以了。P.S:注意位运算的顺序!被坑了1+h。。代码:#include <cstdio> #include <cstring> #include <iostream> #include <algorit
2017-04-08 17:01:35 399
原创 Codeforces 776E The Holmes Children 【数论】【欧拉函数】
题目链接:http://codeforces.com/contest/776/problem/E题意: 有三个函数 f(n) g(n) Fk(n),已知 n, k,求Fk(n)的值题解: 我们首先讨论 k=1 时的情况,此时我们的任务变成了求以下方程 x,y 的对数(对数就是 f(n)) 这个 x,y 的对数可以使用欧拉函数 phi() 来表示(证明略),结果为 phi
2017-04-04 15:33:52 489
原创 Codeforces 776D The Door Problem 【并查集】
题目链接:http://codeforces.com/contest/776/problem/D题意: 有一些锁,初始状态为ri,其中ri为1表示unlock,为0表示lock,给出锁与锁之间的关系,即拉一下第i个锁,与第i个锁相连的其它锁都要改变一下状态,问有没有可能让所有的锁都变成unlock状态(即都为1)题解: 并查集维护即可,使x表示执行了第x号命令,x+m表示不执行第x号命令,维护即
2017-04-04 10:38:10 611 1
原创 Codeforces 776C Molly's Chemicals 【数论】
题目链接:http://codeforces.com/contest/776/problem/C题意: 有两个数 n,k,和一群数 ai (共 n 个),求区间和是k的幂的区间数。题解: 这个题很有意思,弄了2+h才弄出来,, 我们不妨设一个map< long long , int > 来表示 ai的前缀和,我们的答案就是当前前缀和减去power,注意此时的power表示的是k的某次方。更新前
2017-04-03 19:12:09 403
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人