12 2021 档案

摘要:题意:给出一个序列a,它的元素的所有线性组合构成集合x,求x的第k大数 题解: 构造n+1个队列,第i个队列代表前i个数的线性组合 初始条件下,仅有q[0] = 0 每次操作:找出最小的队头(设其为r)并出队,设它在q[d],则对d<i<=n,将a[i]+r加入q[i] 第k次取出的r即为答案 官方 阅读全文
posted @ 2021-12-30 22:39 _vv123 阅读(76) 评论(0) 推荐(0)
摘要:「蒲公英」是树上的一个连通子集,有且仅有一个「中心点」,另外: 设「中心点」在原树中的度为 k≥3,则必须有k-1个结点在「蒲公英」中是一个单点,剩下一条链;那条链的本身长度(不包含u)必须不少于2。 两个「蒲公英」本质不同,当且仅当中心点 u 不同或对应的链包含的结点不同。(至少存在一个结点 v 阅读全文
posted @ 2021-12-17 21:57 _vv123 阅读(67) 评论(0) 推荐(0)
摘要:和方格取数相比,加强了:路径不能重合。 加强了个寂寞。 由于点权都是正的,采取假装可以重合但只能算一次的策略,一定存在不重合的方案结果更优,所以就和方格取数一模一样了。 或许可以称为将错就错贪心法。 #include <iostream> #include <algorithm> using nam 阅读全文
posted @ 2021-12-09 09:36 _vv123 阅读(75) 评论(0) 推荐(0)
摘要:#include <iostream> #include <cstring> #include <algorithm> #include <unordered_set> using namespace std; const int N = 110, M = 10010; int n, k; int 阅读全文
posted @ 2021-12-01 20:53 _vv123 阅读(62) 评论(0) 推荐(0)
摘要:题意:如果nim游戏先手必胜,输出第一步的可行方案数,否则输出0。 我们知道,nim游戏的N-position为所有石子数异或非0,P-position为所有石子数异或得0,因为: 1.终点时所有石子数为0 2.如果当前是N-position,即异或和sum非0,则一定存在一堆石子的数量大于其他堆的 阅读全文
posted @ 2021-12-01 20:00 _vv123 阅读(44) 评论(0) 推荐(0)