随笔分类 - 比赛
摘要: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. 抢气球 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,
阅读全文
摘要:这是 hzwer 巨佬的一场训练赛。 1. 榴莲罐头 单调队列或者纯贪心都是 O(n) ,后者空间是 O(1) 更好…… 1 #include <cstdio> 2 #include <deque> 3 4 using namespace std; 5 6 typedef long long LL;
阅读全文
摘要:1. 小区划分 动规。题目略坑,通过样例发现,每个住户必须属于一个小区。 1 #include <cstdio> 2 #include <algorithm> 3 #include <cmath> 4 5 using namespace std; 6 7 double f[810][85], A[8
阅读全文
摘要:谢谢 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[_
阅读全文
摘要: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
阅读全文
摘要:1. Rasheda And The Zeriba 大致题意: 给出n条边,判断能否构成一个n边凸多边形,并求出能覆盖该图形的圆的最小半径 1 ≤ n ≤ 1000 。 http://codeforces.com/gym/100283/problem/A 1 #include <cstdio> 2
阅读全文
摘要:A.饥饿的奶牛 想到线段覆盖问题的贪心解法,比如根据线段长度排序再选(据加藤惠实测能过 20% 数据),比如根据左端点为第一关键字,右端点为第二关键字排序再选……胡乱画图发现都不行。然后考虑 DP,f[i][j] 表示前 i 条线段选 j 条的最大收益,期望从 f[i-1][j-1] 和 f[i][
阅读全文
摘要:假期欢乐赛,确实挺轻松的,被逼迫写了题解。 A.推数按列观察,有的列有多个格子,看起来好复杂啊,先放一放。按行观察,黑色格子在 i 行 j 列:当 i 是奇数,对应数字第 i 位是 j-1当 i 是偶数,对应数字第 i 位是 9-j B.体重某位同学不是中间体重的充要条件是,比他重的人数 >= mi
阅读全文
摘要:我实在太弱啦 OrzOrz ,B题负权回路没看出来,D题写爆,平时太懒练少了吧。 A. Floyd裸题, O(N^3) 。 B. Bellman-Ford 判负权回路,注意麦田间的小路是双向边,而虫洞是单向边,这是个巨大的坑点。 C. 贪心裸题,最少线段覆盖,也可以用图论做。 D. 二分答案 + 图
阅读全文
摘要:题目不太难,老板讲得真好(斜眼笑。 D题租房子,挺暴力的,不过老板说过,敢写就敢A,哈哈。 1 #include <stdio.h> 2 #include <algorithm> 3 4 using namespace std; 5 6 double f[2][3]; 7 8 int main()
阅读全文
摘要:A 每个木条可以涂 [1, T] 次,对每个木条先来个区间动规。f[i][x] 表示前 i 个位置涂 x 次的最大收益。 f[i][x] = f[k][x-1] + gain(k, i) k 取 [x-1, i) 这样的话问题转化为有很多物品,某一个的价值是 f[i][x] 而重量是 x ,另外 f
阅读全文
摘要:没什么难题,很水的一场训练赛。C题卡了很久,因为背错了通解公式,过不了样例。然后D题就没足够时间写正解了,交了个暴力,30分。 正确的通解方式打开方式:x = x' + k*b/gcd(a, b) 脑子短路时想到的公式:x = x' + k*b 我想换个脑子%%% A 这题完全违背生活常识,i 是
阅读全文
摘要:题目依次为 NKOJ 上 P3496 P4236 P3774 P2407 1.数三角形 方法很多, 比如推出三边 x y z 的限制关系, 然后加加减减得到计算式子 不过也可以用观察法, 暴力计算出 n 为 1 至 13 对应的结果为: 0 0 0 1 3 7 13 22 34 50 70 95 1
阅读全文
摘要:A题: 网络流最大流模型。 用 [1, m] 表示各个国家,[m+1, m+n] 表示各个餐桌。 从 s 向 i 连边,容量为第 i 个国家的代表数; 从 m+i 向 t 连边,容量为第 i 张餐桌的容量; 从 i 向 j + m 连边,容量为 1 ,这样就限制了每个国家在一个餐桌上至多有一个代表。
阅读全文
摘要:先贴上代码,迟一些会附上文字讲解。 1 #include <cstdio> 2 int k, ans; 3 4 int main() 5 { 6 freopen("coin.in", "r", stdin); 7 freopen("coin.out", "w", stdout); 8 9 int d
阅读全文

浙公网安备 33010602011771号