07 2018 档案

摘要:NKOJ1960 如今,搜索引擎像Google,Baidu等搜索引擎已经成为了人们生活的一部分。韦斯利也想把这个搜索功能加入到他的图片检索系统中。每张图片都有一个很长的相关描述,当用户们输入了一些关键词去查找图片,韦斯利的系统将会找出与用户输入的关键词匹配数最多的图片并把他显示给用户。简单的说,给出 阅读全文
posted @ 2018-07-31 23:26 derchg 阅读(134) 评论(0) 推荐(0)
摘要:#238. 蔡老板分果子 统计 描述 提交 自定义测试 春天来了,万物复苏,动物们又到了发情的季节。蔡老板终于下定决心砍下了自家后院的两棵果树,并决定和自己喜欢的人一起分享果树上的果子。 这两棵果树一棵是长生果树另一棵是人参果树,两棵树上都有 nn 个果子,编号为 1∼n1∼n,并分别由 n−1n− 阅读全文
posted @ 2018-07-30 19:53 derchg 阅读(281) 评论(0) 推荐(0)
摘要: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]) 阅读全文
posted @ 2018-07-28 23:14 derchg 阅读(594) 评论(0) 推荐(0)
摘要:同余([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)) 阅读全文
posted @ 2018-07-28 21:40 derchg 阅读(415) 评论(0) 推荐(0)
摘要:A. 密码 没有想到题解里机智的 P2-P1 避免重复计算,我以为是一个类似最长公共子串的 DP,OrzOrzOrz。 设输入分别为 A, B 两个字符串。f[i][j] 表示 A 串前 i 位与 B 串前 j 位匹配( B 串中字母可以依次在 A 中找到)的方案数。 当 A[i] == B[j], 阅读全文
posted @ 2018-07-26 23:37 derchg 阅读(282) 评论(0) 推荐(0)
摘要:暴搜可以拿 60 。据说可以用 A* 搜可以拿 100 。我写的是 BFS预处理后SPFA ,跑得还算比较快。 移动过程可以分为两部分:A 空格移动到可移动的棋子四周(过程中不经过该棋子);B 可移动的棋子在空格的“帮助”下到达目标点。对于 A 过程,BFS 处理出到达上下左右的代价到 P[4] 里 阅读全文
posted @ 2018-07-25 17:23 derchg 阅读(189) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2018-07-14 12:15 derchg 阅读(127) 评论(0) 推荐(0)
摘要:1. 分队 每名选手都要属于一个队伍,考虑 A[i] 最大的选手是必须选的。考虑与他同一队的选手,显然尽量选 A[i] 大的其他选手,并且选的人数越少越好,因为选手越多,可划分的队伍数就越多。这样就得到了一个显然的贪心。这样做是错误的,据说可以过 80 分。1 2 4 5 5 5 5 5 这组数据在 阅读全文
posted @ 2018-07-13 15:52 derchg 阅读(218) 评论(0) 推荐(0)
摘要:1. 树上倍增 f[i][k] 表示节点 i 向上第 2k 个节点。mx 是树的最大深度。 预处理: 先 DFS 得到 f[i][0] ,然后: 求 LCA : 2. 欧拉序+RMQ DFS 得到树的欧拉序列,记录每个点在欧拉序列中第一次出现的位置 pos[i] 。 x, y 的 LCA 即为欧拉序 阅读全文
posted @ 2018-07-12 19:54 derchg 阅读(312) 评论(0) 推荐(0)
摘要: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, 阅读全文
posted @ 2018-07-12 18:47 derchg 阅读(116) 评论(0) 推荐(0)
摘要:这是 hzwer 巨佬的一场训练赛。 1. 榴莲罐头 单调队列或者纯贪心都是 O(n) ,后者空间是 O(1) 更好…… 1 #include <cstdio> 2 #include <deque> 3 4 using namespace std; 5 6 typedef long long LL; 阅读全文
posted @ 2018-07-12 09:53 derchg 阅读(131) 评论(0) 推荐(0)
摘要:LCT 模板题,分块也很优秀。 分块做法 维护每个点到第一次跳到下一个块时的跳跃次数,并记录其跳到下一个块的第一个点。 注意常见的分块玄学操作 n = min(sqrt(N), 100) 和 n = sqrt(N)*1.23 。 1 #include <stdio.h> 2 #include <al 阅读全文
posted @ 2018-07-12 09:45 derchg 阅读(137) 评论(0) 推荐(0)
摘要:逆序对永远只会树状数组写法OrzOrzOrz…… 阅读全文
posted @ 2018-07-11 15:20 derchg 阅读(284) 评论(0) 推荐(0)
摘要:分块思想,机智的建图。 1.n = min(sqrt(N), 100) ……设一个玄学限制,跑得会快很多。 2.SPFA 不要加 LLL 也不要加 SLF 优化!千万不要加!不然九十八! 我写了发 SPFA ,时间略卡。可能 Dijkstra 在这道题会更优秀一些吧…… 1 #include <st 阅读全文
posted @ 2018-07-11 15:07 derchg 阅读(140) 评论(0) 推荐(0)
摘要:1. 小区划分 动规。题目略坑,通过样例发现,每个住户必须属于一个小区。 1 #include <cstdio> 2 #include <algorithm> 3 #include <cmath> 4 5 using namespace std; 6 7 double f[810][85], A[8 阅读全文
posted @ 2018-07-11 11:53 derchg 阅读(153) 评论(0) 推荐(0)
摘要:谢谢 hzwer 学长! 1. 小奇挖矿 从右往左决策消除后效性。 1 #include <cstdio> 2 #include <algorithm> 3 4 using namespace std; 5 6 const int _N = 120000; 7 8 int type[_N], A[_ 阅读全文
posted @ 2018-07-11 11:40 derchg 阅读(117) 评论(0) 推荐(0)
摘要:1. 无线通讯网 1 #include <stdio.h> 2 #include <algorithm> 3 #include <math.h> 4 5 using namespace std; 6 7 typedef long long LL; 8 9 const int _N = 600; 10 阅读全文
posted @ 2018-07-10 12:20 derchg 阅读(160) 评论(0) 推荐(0)
摘要:1. Rasheda And The Zeriba 大致题意: 给出n条边,判断能否构成一个n边凸多边形,并求出能覆盖该图形的圆的最小半径 1 ≤ n ≤ 1000 。 http://codeforces.com/gym/100283/problem/A 1 #include <cstdio> 2 阅读全文
posted @ 2018-07-07 20:50 derchg 阅读(233) 评论(0) 推荐(0)