题意:

t组输入,给出A,B,C,N,分配将N分成3份a,b,c,使a+A=b+B=c+C。

题解:
这种知道最终答案或最终状态的题目一般由最终答案或最终状态作为突破口,这里判断A,B,C是否大于(A+B+C+N)/3即可判断是否能使a+A=b+B=c+C,注意(A+B+C+N)不能被3整除的情况。

代码:

https://codeforces.com/contest/1294/submission/69307198

题意:

t组输入,由地图的(0,0)收集n个包裹,每次只能向上或向右移动一格,若能全部收集输出YES且所有移动路程(字典序优先),否则输出NO。

题解:

结构体排序,优先排右再排上,模拟一步一步右,但是要求上的高度为不严格递增,否则NO,然后输出所有路程。

代码:

https://codeforces.com/contest/1294/submission/69334540


题意:

t组输入,找出大于1的3个不同的正整数a,b,c,使其满足a*b*c=n。

题解:

暴力即可,暴力判断到根号n找出a,n/=a;暴力判断到根号n找出b,最后a,b,n不能全等且n不等于1即可,有个小点要注意就是暴力判断到根号n找出a或b后,此时还不能判断就是找到了的,因为有可能根本没找到(此时n为质数)。

代码:

https://codeforces.com/contest/1294/submission/69713369


题意:

q为q个修改,x为常数,可以对每次输入的数进行多次修改(这里in one move的意思为一口气),可对其加减多个x,问从0开始到正无穷,最先是哪个数没被覆盖。

题解:

关键是在in one move这里,由于这个特性,所以我们可以将每次输入进来的数进行下分类,事实上只要cnt%x相等的数他们的本质都是一样的(因为可以对其多次加减x),因此问题就转化成了每回合在一个区间内找最小的数,这样一个问题了,只要维护最小值就好了,遇到可以加的就加加,为什么没超时呢,因为答案的范围也就4e5而已,所以不要被蒙骗了而不敢去写,我也时常被自己算的复杂度蒙骗了,如果写不出不妨暴力写一遍,或许会有惊喜。

代码:

https://codeforces.com/contest/1294/submission/69714247