摘要:
NKOJ1960 如今,搜索引擎像Google,Baidu等搜索引擎已经成为了人们生活的一部分。韦斯利也想把这个搜索功能加入到他的图片检索系统中。每张图片都有一个很长的相关描述,当用户们输入了一些关键词去查找图片,韦斯利的系统将会找出与用户输入的关键词匹配数最多的图片并把他显示给用户。简单的说,给出 阅读全文
摘要:
#238. 蔡老板分果子 统计 描述 提交 自定义测试 春天来了,万物复苏,动物们又到了发情的季节。蔡老板终于下定决心砍下了自家后院的两棵果树,并决定和自己喜欢的人一起分享果树上的果子。 这两棵果树一棵是长生果树另一棵是人参果树,两棵树上都有 nn 个果子,编号为 1∼n1∼n,并分别由 n−1n− 阅读全文
摘要:
f[i] 不删除任何物品,达到体积 i 的方案数。 T[i][j] 删除 i 号物品,达到体积 j 的方案数。 T[i][j] = f[j]-T[i][j-W[i]] (j >= W[i]) T[i][j] = f[j] (j < W[i]) 阅读全文
摘要:
同余([x, y] 表示 lcm(x, y) ,(x, y) 表示 gcd(x, y) ) 常见法则: 若 a Ξ b (mod x) 且 a Ξ b (mod y) ,则 a Ξ b (mod [x, y]) 。 若 ka Ξ kb (mod x) ,则 a Ξ b (mod x/(x, k)) 阅读全文
摘要:
A. 密码 没有想到题解里机智的 P2-P1 避免重复计算,我以为是一个类似最长公共子串的 DP,OrzOrzOrz。 设输入分别为 A, B 两个字符串。f[i][j] 表示 A 串前 i 位与 B 串前 j 位匹配( B 串中字母可以依次在 A 中找到)的方案数。 当 A[i] == B[j], 阅读全文
摘要:
暴搜可以拿 60 。据说可以用 A* 搜可以拿 100 。我写的是 BFS预处理后SPFA ,跑得还算比较快。 移动过程可以分为两部分:A 空格移动到可移动的棋子四周(过程中不经过该棋子);B 可移动的棋子在空格的“帮助”下到达目标点。对于 A 过程,BFS 处理出到达上下左右的代价到 P[4] 里 阅读全文
摘要:
1. 同行 以 1, 2, N 为源点跑分别跑最短路,假设边权为 1 。用 dis[1][N]*B+dis[2][N]*E 和 dis[1][i]*B+dis[2][i]*E+dis[N][i]*P (满足 1 <= i <= N) 来更新答案即可。 2. 长跑 设 f[i][j] 表示到达的第 j 阅读全文
摘要:
1. 分队 每名选手都要属于一个队伍,考虑 A[i] 最大的选手是必须选的。考虑与他同一队的选手,显然尽量选 A[i] 大的其他选手,并且选的人数越少越好,因为选手越多,可划分的队伍数就越多。这样就得到了一个显然的贪心。这样做是错误的,据说可以过 80 分。1 2 4 5 5 5 5 5 这组数据在 阅读全文
摘要:
1. 树上倍增 f[i][k] 表示节点 i 向上第 2k 个节点。mx 是树的最大深度。 预处理: 先 DFS 得到 f[i][0] ,然后: 求 LCA : 2. 欧拉序+RMQ DFS 得到树的欧拉序列,记录每个点在欧拉序列中第一次出现的位置 pos[i] 。 x, y 的 LCA 即为欧拉序 阅读全文
摘要:
1. 抢气球 1 #include <stdio.h> 2 #include <algorithm> 3 #include <queue> 4 5 using namespace std; 6 7 const int _N = 120000; 8 9 struct data { 10 int v, 阅读全文