第一题:
题意:有n个数,删掉m个数后,每两个相邻的数相乘,求最后的值
思路:1<=n<=100,暴力出奇迹,直接模拟
第二题:
题意:给出一个人要做的题数,和做每题的时间。给出开始和结束的时间,求出最多能做多少题
思路:主要是要把给多少分钟做题求出来,模拟一波
求最多的题数,其实就是贪心,快排+while
数据不大,暴力模拟足够了
第三题:
题意:有t组数据,每次给两个点,判断这两个点连一条线中间有没有点, 有点输出no,没有输出yes
思路:画个表格推推公式,推啊推...推啊推...
终于在一个神圣的时刻,发现了一个规律
设一个点的坐标为(0,0),那么另一个点的坐标就是(x1-x2,y1-y2)
如果当abs(x1-x2)和abs(y1-y2)有除一外的因数,这条线肯定会覆盖 一个点(Tips:同行同列特殊判断)
第四题:
题意:有n段线,给出每一段的长度,以及要锯多少段(每一段的长度相 等),求一段最大多少
思路:预处理,每次讲小数*100,弄成正整数,好处理。最后/100即可
二分答案,每次求中间值,判断这个中间值能锯多少段,如果>=k则 r=mid,否则l=mid
第五题:
题意:有n张牌,每一张牌可以代表梅花、黑桃、方块、红桃,两张或以上 同花色的牌可组成一组。求当手上有N张牌时,至少组成1到N/2(向 下取整)组牌时有多少种不同的方案?
30%思路:四重枚举暴力,每次判断这套牌可组成第几组,累计一下,输出
100%思路:100% N<=10000
最多两重循环,那么枚举第一张牌和第二张牌的牌数,那么剩下 的就是n-i-j
然后推推啊:
如果为8,组数为4
0 8——4
1 7——3
2 6——4
3 5——3
4 4——4
5 3——3
6 2——4
7 1——3
0 8——4
显然只有一半+1符合,就b[4]+k/2+1,b[3]+k/2
那么偶数公式就是b[s]=b[s]+k div 2+1
b[s-1]=b[s-1]+k div 2
如果为9,组数为4
0 9——4
1 8——4
2 7——4
3 6——4
4 5——4
5 4——4
6 3——4
7 2——4
8 1——4
9 0——4
显然全部符合
那么奇数公式为b[s]=b[s]+k+1
凭此公式,即可秀翻全场!!!!!