zoukankan      html  css  js  c++  java
  • 做题总结——连续更

    星星之火,可以燎原

    1. 关于保留小数取整方面的问题:
      ①floor函数向下舍入为最接近的整数:-2.1,-2.9——>-3
      3.1,3.9——>3
      ②ceil函数向上取整为最接近的帧数:-2.1,-2.9——>-2
      3.1,3.0——>4
      ③对浮点数的四舍五入 12.5——>13
      12.4——>12
    2. ctrl + Z 可以模拟文件输入的结束即EOF
    3. 对于字符串的情况,尤其是要读取空格,可以使用getline读取一整行。注意是不是应该加上getchar吸收换行。含有空格的字符串输出可以用gets(),自带换行
    4. 很多题目需要用到初始化,我常用的有三种:
      ①memset(数组名首地址,想要初始化的值,sizeof 初始化的范围)
      例如memset(num,0,sizeof(num));注意只能是初始化成-1,0,0x3f3f3f3f,0x3f3f 其余的十六进制没有试过
      ②fill(数组名首地址,初始化的范围,初始化的值);
      例如:fill(a,a+10,0);这个函数可以初始化成为任一值
      ③最最最保险的方法莫过于for循环,相对于以上两种方法估计还不会导致超时!!!有的题目多组输入会因为每次进行初始化,消耗的时间会很长导致超时
    5. 半径为 r 的圆内整点的个数为1+4r+4ri=1sqrt(r * r - i * i)
    6. m*n的矩形中正方形的个数,0<=n,m<=1000
    ans=0;
    for(int i=1;i<=min(n,m);i++)
    	ans+=(n-i+1)*(m-i+1);
    
    1. 氧气优化 & 臭氧优化
    #pragma GCC optimize(2)
    #pragma GCC optimize(3,"Ofast","inline")
    
    1. a 年到 b 年的闰年的数量
    (b/4-(a-1)/4)-(b/100-(a-1)/100)+(b/400-(a-1)/400)
    
    1. 在堆内定义优先队列时,尤其是小根堆要注意!:
    priority_queue <int ,vector<int> ,greater<int> 这里要加上空格> que;
    两个>>在一起是位右移运算
    
    1. 在堆内定义变量时,不要定义y1 不知道为什么会报编译错误,很多平台多这样比如洛谷
      比较正式的解读:传送门
      不方便跳转可以直接看图:图片是上面那篇博客的
      在这里插入图片描述
    2. 2020.6.1更
      以A,B两点为端点的直线,经过两点间整数点的个数
      A(x1,y1) B(x2,y2)
      xx=abs(x1-x2);
      yy=abs(y1-y2);
      ans=gcd(xx,yy)+1;
      ans包括A B两点
  • 相关阅读:
    解决Windows Server2008 R2中IE开网页时弹出阻止框
    为Java说句公道话
    垃圾回收(GC)的三种基本方式
    偏执却管用的10条Java编程技巧
    学习Javascript的8张思维导图【收藏】
    Java 常见异常及趣味解释
    Java程序员们最常犯的3个集合错误
    浅谈jsp、freemarker、velocity区别
    ThreadLocal使用
    javascript 之闭包
  • 原文地址:https://www.cnblogs.com/PushyTao/p/13144136.html
Copyright © 2011-2022 走看看