P4189 [CTSC2010]星际旅行 (退流思想)
摘要:P4189 [CTSC2010]星际旅行 分析: 对于只求一个点来说,因为题中保证了每个星球的hi大于等于度数。 也就是说,从一个点出发,保证可以遍历每一条边。 于是贪心地将能遍历到的边都遍历了,回溯的时候,将两个端点的h取min,累入答案里(在这两个点中重复走min次,贡献是min*2) 但题中要
阅读全文
posted @
2019-11-06 20:58
rua-rua-rua
阅读(157)
推荐(0)
机房测试:折半+二分+判环+树上开桶
摘要:T1: 分析: 如果x小的话,就直接背包。这道题中n很小,60%可以直接3^10暴搜,25的呢?明显是折半嘛。 先搜前一半的物品,用map记录能拼凑出的种类数,再搜后一半物品,直接查询统计答案即可。 #include<bits/stdc++.h> using namespace std; #defi
阅读全文
posted @
2019-11-06 20:26
rua-rua-rua
阅读(174)
推荐(0)
机房测试模拟2:模拟+数学+数位dp
摘要:T1: 分析: 画图模拟,发现折叠后的长度会变成折叠位置左右两部分取max,难点在于:折叠后找不到对应的点在哪个位置。 因为n很大,但其实很多位置都是用不到的,所以处理m个操作。 一次操作后,可能会影响到后面的所有操作的位置,于是将操作离线,一次操作后将后面所有将要用到的操作位置都更新。 怎么更新?
阅读全文
posted @
2019-10-24 22:09
rua-rua-rua
阅读(220)
推荐(0)
机房测试7:gift (树形背包)
摘要:题目: 分析: 分数形式的套路是0/1分数规划:二分一个答案,将式子化简,转换为判断能否选出部分点使得 sigma(b[i]-c[i]*mid)>=0 在这道题中,因为有了依赖关系,而依赖关系不会成环,将依赖关系连边,会成为一棵树,只需要在这颗树上跑树形背包即可。 树形背包:对于一个点v,如果要选v
阅读全文
posted @
2019-10-10 08:58
rua-rua-rua
阅读(160)
推荐(0)
机房测试7:paint(分治+st表)
摘要:题目: 分析: 与noip2018 T1十分相似,那道题可以看做这道题只能横着涂,具体思路是: 第一次先选取最小的高度minn,让所有高度都减去minn,1~n的连续段就被分成了许多块,对于每一个块重复上述过程,直到所有的柱子都为0。 这种过程类似于递归处理块,可以用dfs解决。 对于区间l~r,在
阅读全文
posted @
2019-10-07 21:45
rua-rua-rua
阅读(202)
推荐(0)
机房测试3:三角tri(dp预处理+二分+dfs剪枝)
摘要:题目: 分析: 考虑最暴力的暴搜,怎么才能优化呢? 如果我们确切地知道第k大的路径权值和有多大,那么在dfs里面加一个限制就可以求出所有前k大的路径了。 很显然答案是满足单调性的。 可以二分一个答案,dfs一遍,看满足这个答案的有多少条路径,如果超过k条,就往大的走。 最后把二分出来的答案跑一遍df
阅读全文
posted @
2019-10-05 11:43
rua-rua-rua
阅读(183)
推荐(0)