交互题的食用方法
摘要:我曾在自学交互的时候,网上少有有关教学emmm,争取写详细一点. 介绍 首先题目会发几个cpp,和样例(如果是spj,或者其它情况就没有)。 这几个cpp通常有: name.cpp(你实现以及提交的,通常帮你添上.h头文件及一些你要实现的函数) name.h(自定义头文件,可以封装函数等,目的是使多
阅读全文
CF1681F Unique Occurrences
摘要:题意:一棵树,问每条路径上只出现一次的值的个数的和。 思路: 显然想到考虑边贡献。每条边权下放到下面的哪个点。
upi为上面第一个点权等于它的点。我们需要一个子树内点权等于它的点(如果满足祖孙关系,不要孙)(除它自己的)sz和。 这样每个点的
sz向
up贡献。 这样差分求出上面的点和下面的
阅读全文
Codeforces Round #793 (Div. 2)
摘要:C. LIS or Reverse LIS? D. Circular Spanning Tree E. Unordered Swaps F MCMF?
阅读全文
CF1682E Unordered Swaps
摘要:鸽着,我不知道为什么对? 题意: 思路: code: #include<bits/stdc++.h> using namespace std; const int N=5e5+5; int p[N],nxt[N],to[N],head[N],ecnt,d[N]; void add_edge(int
阅读全文
CF1682D Circular Spanning Tree
摘要:题意: 构造题,节点1~n顺时针排列成圆形,告诉你每个点度数奇偶性,让你构造一棵树,树边不相交。 思路: 因为每条边给总度数贡献2,因此如果度数为1的点有奇数个,直接输出no。显然0个度数为1的,也输出no。 找到每个1,把1往后的部分分到一组,第二组的最后一个连第一组的最后一个,然后3组往后的最后
阅读全文
CF1682C. LIS or Reverse LIS?
摘要:题意:给
n个数,问你能构出严格上升子序列长度和下降子序列长度最小值的最大值。 思路: 如果一个数出现至少两次,ans++。 统计出现一次的个数,因为再最长上升子序列中,只能有一个值能贡献到下降子序列里,因此
ans+⌈cnt12⌉。
阅读全文
[THUSCH2017] 杜老师
摘要:description
T次询问,每次问
L,L+1...R有多少种子集满足子集中乘积为完全平方数。 solution 50pt 首先双倍经验 通常的思路是:平方数即每个质因子指数为偶 跟奇偶性有关问题用异或! 用二进制(位数大,这里用bitset)每个质因子代表一位,表示该质因子指数的奇偶性
阅读全文
[THUSC2016]成绩单
摘要:luogu P5336 description 每次可以选择连续一段,删掉,两边合并过来。删一段的代价为
a+b∗(max[l..r]−min[l...r])2 n<=50 solution 这种带区间拼接合并,而且
n很小的的,容易想到区间dp $f[l][r][x][y]\(表示使
阅读全文
投错邮箱
摘要:description 有
n封邮件,每封目标投到
ai,不过不能直接投到,会有一个中转的过程(先投到邮箱里)。
n个地方,每个地方有一个邮箱(很辣鸡最多只能放一封邮件),邮递员会把这个邮箱
i里邮件投到
bi。 xzl很笨,于是问你
q个询问,告诉你$[l1,r1]
,[l2
阅读全文
「POI2012」井 Well
摘要:description 你要挖井,
n个地面的高度可视为
hi,每次操作你可以将一个
hi−1,你最多可执行
m次操作。 你要任选其中一个
hi挖到
0,问你相邻的高度差的最大值最小。并输出满足其的最小的井。 solution 二分最大值
mid。 先不考虑挖井到0。用最少的步数
阅读全文