• 2017.5.27入门组总结


    第一题:

    题意:有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

    凭此公式,即可秀翻全场!!!!!

  • 相关阅读:
    mysql必知必会+菜鸟(复习sql)
    SpringBoot + Netty初体验
    [Tips] Mac 下vs code无法找到latex命令
    Java中常见集合循环遍历方法
    Java编程的IO操作
    pass,Iass,saas以及中台之间的联系
    记录一些常用的指令
    多线程Future Task
    Sql Server 表被锁?查看 高CPU sql ?
    发送下载文件的请求接后端的文件流
  • 原文地址:https://www.cnblogs.com/Comfortable/p/8412288.html
Copyright © 2020-2023  润新知