摘要:
题目链接分析这道题有修改操作,显然不能使用后缀数组等数据结构。 我们可以用hash值来判断两个字符串是否相同,所以,我们可以用splay来维护出以当前字符为根的字符串的hash值,二分长度来求出LCQ(x,y)的值。代码这是top-down的splay#include#includ... 阅读全文
摘要:
题目链接分析看穿题目如果一个骑士痛恨另一个骑士,就在两个骑士直接连接一条无向边。题目就是要求图中的最大权值独立集。实现方法如果这道题的图是一棵树(或森林)的话,显然可以用树形动态规划解决。 令f(u)表示以u为根的子树中的最大权值的独立集,令s(u)=∑v是u的儿子vf(v),gs... 阅读全文
摘要:
题目链接分析看穿题目考虑组成村庄的每一条线段,显然,我们要在这条线段所在直线上方的半平面内才能看见它。所以,瞭望塔必须要在所有组成村庄的线段的所在直线的上方的半平面的交集内,才能 从瞭望塔的顶端可以看到H村的任意位置所以,这道题就是求村庄的地面到这个半平面交的最短距离。实现方式很... 阅读全文
摘要:
题目链接分析很容易想到可以用DP 用f[i][j][x][y]表示已经有i个男孩,j个女孩坐下来,从右往前男孩最多比女孩多x个,女孩最多比男孩多y个。 这道题状态转移用刷表法比较方便。 f[i+1][j][x+1][max(y−1,0)]+=f[i][j][x][y]f[i][j+... 阅读全文
摘要:
题目链接树链剖分模板题(有树链剖分求LCA)代码#include#include#define INF 0x7fffffff#define MAXN 30000using namespace std;int n,m,size[MAXN+10],bl[MAXN+10],length[... 阅读全文
摘要:
题目链接分析首先,我们会想到田忌赛马的问题。 其实,这道题的做法差不多。 对于对方的队员,我们都考虑用我方实力比他强的队员中最弱的那一个和他比赛,否则,安排我方最弱的队员和他比赛,这样就能使我方得分最多。由于总分是一定的,那我们只要使对方得分最多,我方得分就最少了。代码#inclu... 阅读全文
摘要:
题目链接分析这道题,是一道十分优(e)秀(xin)的模拟题。 有一些注意事项: 一边看题一边写,不要把题目读错了一切活动都要严格按照这个顺序来,仔细理解题目所给的意思。注意蚂蚁移动的顺序。所有炮塔是同时攻击的。在模拟中掺杂了计算几何。知道了这些,写不写得出来,就看你的实(ren)力... 阅读全文
摘要:
题目链接分析数值较小时暴力,较大时,分母取平均值即可代码#include#include#includeusing namespace std;#define MAXM 20int n,m,k,cir,ans;struct matrix{ int a[MAXM+1][MAXM... 阅读全文
摘要:
题目链接分析我们很容易想到DP,并且得到状态转移方程式(f为费用,sum为C数组的前缀和) fi=min(fj+sumi−sumj+i−j−1−L)2 直接做肯定超时,考虑优化。 令j,k为i之前任意两个决策点,j #include#includeusing namespace s... 阅读全文
摘要:
题目链接分析令fi,j表示匹配计算到准考证第i位,后缀最大可以匹配不吉利数字的前j位 fi,j=∑kA1....Akb的后缀最多可以匹配A(不吉利数字)的前j位fi−1,k∗cntb(0≤b≤9,cntb为使A1....Akb的后缀最多可以匹配A(不吉利数字)的前j位的b的数量) ... 阅读全文