cf773 div2
题解思路:
A:
题意:三角形是否是倒的且一边与y轴平行。
思路:找规律。按y值从小到大排序,只有第二和第三个点的y值相等时答案才不为0,为x差值。
吐槽:退算法退太久了,第一题理解了半天。。。
B:
题意:有n个物品且每个物品价值为a[i],将n个物品全部分成 x组,每组的贡献为该组包括多少种数字。求所有组加起来的最小贡献。
思路:找规律。显然尽量使同组有尽可能多的同种数字。若数字种类是m,x<m则输出m,否则输出x。
C:
题意:有n个数及乘积x,问最少添加多少数,保证最后可以全部两两一对(a1*x==a2)
思路:排序后从大到小看是否有满足/x的数,没有就cnt+1,有的话就删掉对应的数字
吐槽:因为ai范围到了10^9,写了个离散化。后来看别人题解用map就行了。。。看别人的题解还看到用乘法超int范围的。。。还有怎么还是找规律的题。。怎么说呢,对于我现在的状态写起来很慢,但好歹能写吧…其它算法忘得有点过分了QAQ
D:
题意:给定一个长度为n的序列a,要求将序列a分成若干段且每段长度为偶数,且同时需要a[i]==a[i+len/2]。可以进行的操作是在一个位置插入入两个相同的数。
思路:模拟+贪心策略。。若要构造,则记录当前段的第一个数字,如果再次出现该数字就插入。
E:
搜索题。。有空再补。。。课好多。。