从今天到noip 记录下我犯的一切愚蠢错误。

7.17~7.19  把文件 注释掉了,输出语句放在了关文件之后

7.19           判断素数的板子 把%写成了&

bool prime(int q)
{
if(q==) return ;
if(q==||q==) return ;
if(q%!=&&q%!=) return ;
int cnt=sqrt(q);
for(int i=;i<=cnt;i+=)
if(q%i==||q%(i+)==) return ;
return ;
}

7.20       慎用诸如“while(tmp)"的表示!   老老实实写tmp>0 or tmp>1 坠吼了。

7.26        写线段树的时候一定要建树啊!

7.26        使用邻接表时,如果有节点为0,那么head应初始化为-1.

您想初始化,但是连n都还没输入,初什么始化!(摔)

7.27        组合数初始化和递推时要有相同的上界(循环上界),否则会炸掉

及时取模!!!

7.29        数位dp要把初值设成-1qwq。因为0也是枚举的数呀qwq。

7.30        输出中间结果的/debug的语句一定要删掉呀qwq。否则会too many or too few lines。

有取模的复杂运算,如越狱,一定要注意如果最后为负数,加上模数。

右移与“/”通常用来去向下取整,需要注意的是算术右移是真正的向下取整(负无穷),而/本质是向0取整。

这种差异在有负数存在时影响最大。如(-3)>>1=-2,而(-3)/2 =-1

7.31         在做USACO回家时,发现linux和windows下的换行差异好大!先挂起这个问题,有noilinux虚拟机后好好研究下。

Linux中换行符是'\n'而Windows中是'\r\n'(多一个字符),有些数据在Windows中生成,而在洛谷评测机Linux环境下评测。这种情况在字符串输入中非常常见。

说人话也就是linux两个换行符,win下一个换行符

8.9          多组数据清空head数组/多组数据“~”/“EOF”防止死循环

8.10        存图时注意重边和自环

8.16        点从0开始编号时,注意head用-1赋初值,遍历的时候改为

for(int i=head[u];i!=-1;i=edge[i].next)

8.19        今天发现了一个害怕的事:在win下头文件如果误打为大写(如Cstdio),不会CE

然鹅 在linux下会CE!!!(逃

8.24        写dp题的时候:要注意赋特值和初值(memset)间的前后关系!

8.24   朋友,无解的时候是不是要输出一些东西???(已经犯了好多次低级错误)

8.25   前排围观kkksc03爷

  变量名不要开pipe time x1 y1 next等,具体可参照cpluscplus/algorithm

   I64d怕燕大老爷机跑不过

   样例测试 wtm今天才知道GGF送大样例(在选手目录文件夹中)

8.27    写spfa的时候出队以后要把vis[]设成0

8.29    想起来要开long long的时候也要在输出时改成lld!!!否则没用!

9.5   用scanf printf时一定注意数据类型!(Chemist的错误

      进行广搜深搜等题目需要判断越界 先判断!

这样就是对的==

先判断vis[][]就是错的==

9.9   读单个字符用个小的字符数组吼啊==

9.11  hash不要当变量名==

while((ch=getchar())!=EOF)

这句必须要加括号 我也布吉岛为什么==

string类型,赋值一定存在严格的先后关系。

tmp=seq[i]+tmp与tmp=tmp+seq[i]是完全不一样的==

string类型开始赋的时候不能为空:

常见技巧开始先赋成string tmp=""

(见于USACO魔板、联系)

9.13    (常见于计数问题)给一个ans longlong型的可能会开到很大如1e40,这时我们平时用的什么0x3f3f3f3f全部不好使==

9.16   (计蒜客模拟赛)LAdalao因为没看全数据范围 所以....没有AK!!!!

9.25      map的[]操作是logn复杂度的....!

        观赏了一波zsydalao的操作,发现结构体可以直接强制类型转化地赋值:cellur[i]=(sta){i,j},ij要按结构体中声明变量的顺序进行。

        防止整数被0除。

9.26    一些防止内存泄漏的问题:在判断数组是否越界、队列是否清空的问题上,我们要先判断。

      因为&&是从左到右判断的orz....

      这是一个严重的问题~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

9.28    又是犯傻的一天~~~

      把1e6当成100000(逃)1e6是1000000啊喂!

10.1    写了个线段树1的板子:ask没开longlong ,然后...没下传懒标记(wtf?)

      有些题初始化是输入的数,这种情况不能在全局初始化(还没输进来)。如种树中的“$num$“

10.3    kmp里的next数组,虽说是这么叫,但是你真的放心把它写成next 嘛?nxt好。

      尽量不要用memset赋1(真香),会出现各种奇怪的错误。赋0,128,127,0x3f海星。

(在做差分约束--糖果时遇到的)手写for循环初始化不行嘛?(摔)

10.4    建图 多组数据:清空head&tot

10.5    dp的时候考虑枚举0

10.6    有的题必须用快速乘==(炸longlong且不想高精的情况)

10.7    LCAinit时一定要记得q.push(v)

10.8    防止整数被0除!& 发现特殊性质,从这里挖掘做题!

      list也是关键字!

10.10     乘哈希131的时候,最好把131赋为一个unsignedlonglong类型的全局变量。

10.11     map是个好东西 可以处理负数下标qwq

10.12     strlen尽量不要多次调用 会TLE,因为听说操作是$O(n^2)$的。

10.14     end是关键字!

10.25     好久没来了qwq。好像dijkstra不能跑最长路?

10.26     32位整数:int;64位整数:longlong。别问我为啥要记这个233.

10.27     给二维数组赋初值的时候,一定要尽量把空间用满,不开大。比如数独

const int group[][]=
{
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
};

如果开成$group[9][9]$和$group[50][50]$就显然不行,因为后者在运行时会理解为连续的一段即$group[1][1~50]$。一定要注意!

10.30  初值赋成负无穷和0谨慎选择!这在数据结构题目(有负权)的时候应尤为注意~

10.31  end是关键字!!!啊啊啊啊啊啊啊啊心虚的一批!

      取某一位的时候,int类型和bool类型的区别!(最长异或路径)

11.2    要膜东西的时候如果式子出现了减号一定加上模数!!!!

11.6    二分的时候 如果改变了原来的值 要赋到新的变量中 防止以后再搜的时候不是原来的情况

      考noip2013 边权少了2倍hhh,lca写挂了一个符号

填坑帖 By cellur925的更多相关文章

  1. Luogu P3916 图的遍历 【优雅的dfs】【内有待填坑】By cellur925

    说明 • 对于60% 的数据, n,m在1e3内 • 对于100% 的数据, n,m在1e5内. 本弱弱上来就是一顿暴搜打,dfs n次,每次更新答案,复杂度为O(n*n),果然TLE,60分抱回家. ...

  2. Android—基于微信开放平台v3SDK,开发微信支付填坑。

    接触微信支付之前听说过这是一个坑,,,心里已经有了准备...我以为我没准跳坑出不来了,没有想到我填上了,调用成功之后我感觉公司所有的同事都是漂亮的,隔着北京的大雾霾我仿佛看见了太阳~~~好了,装逼结束 ...

  3. css 填坑常用代码分享

    以下是常用的代码收集,没有任何技术含量,只是填坑的积累.转载请注明出处,谢谢. 因为提交比较麻烦,后来转置github:https://github.com/jsfront/src/blob/mast ...

  4. 填坑系列:通过ESXi来配置IPMI

    近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑. 今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下 ...

  5. Node学习笔记(四):gulp+express+io.socket部署angularJs2(填坑篇)

    这篇就先暂停下上篇博客--你画我猜的进度,因为在做这个游戏的时候,想采用最新的ng2技术,奈何坑是一片又一片,这边就先介绍下环境部署和填坑史 既然要用ng2,首先要拿到资源,我这边用的是angular ...

  6. 【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程

    Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...

  7. 【填坑向】spoj COT/bzoj2588 Count on a tree

    这题是学主席树的时候就想写的,,, 但是当时没写(懒) 现在来填坑 = =日常调半天lca(考虑以后背板) 主席树还是蛮好写的,但是代码出现重复,不太好,导致调试的时候心里没底(虽然事实证明主席树部分 ...

  8. windows下jenkins常见问题填坑

    没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑. 目录 1. 主从节点 2. Nuget自动包还原 3. powershell部署 4 ...

  9. bootstrap-table填坑之旅<一>认识bootstrap-table

    应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...

随机推荐

  1. iPad actionsjeet

    在iphone和ipad上使用UIActionShee控件t的效果会不一样,在苹果的官方文档中有相关说明: 在ipad上使用UIActionSheet控件改控件不再从底部弹出,而是从屏幕中间弹出与UI ...

  2. 3D立方体旋转动画

    在线演示 本地下载

  3. PS图片透明处理方法

    // http://www.3lian.com/edu/2014/06-18/149890.html 今天想把图片背景做成透明效果,以前叫美工的妹纸帮忙做过,自己没留意学. 今天需要做这个东西,特别记 ...

  4. Ubuntu apt-get update 失败【转】

    本文转载自:http://www.jianshu.com/p/0de2b5717ce8 1 $ sudo apt-get update 报了一堆错误: Err http://cn.archive.ub ...

  5. 在PyCharm上创建Django项目

    声明:此Django分类下的教程是追梦人物所有,地址http://www.jianshu.com/u/f0c09f959299,本人写在此只是为了巩固复习使用 首先我们在Pycharm上新建一个Dja ...

  6. laravel基础课程---8、laravel响应和视图(响应是什么)

    laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...

  7. Zabbix监控华为交换机

    一.    监控交换机首先要在交换机开通snmp协议. 有两种方式开通,web界面,及交换机的配置界面 Web界面开通: 交换机配置界面 有web界面的,使用web界面相对简单,本项目就是用web界面 ...

  8. java反射中Class对象详解和类名.class, class.forName(), getClass()区别

    1.获得类型类 可以看到,对象a是A的一个实例,A是某一个类,在if语句中使用a.getClass()返回的结果正是类A的类型类,在Java中表示一个特定类型的类型类可以用“类型.class”的方式获 ...

  9. MySQL_杭州拱墅区、西湖区近9-11月销售过的产品_20161125

    需求:杭州拱墅区.西湖区近9-11月销售过的产品 这个SQL如果对数据表熟悉的话可以一步到位,为了看的更清楚,时间间隔在3个月产品数量也不是很多,采取先找明细再进行汇总. 一.第一种写法 分步骤的写S ...

  10. ACM学习历程—HDU 4287 Intelligent IME(字典树 || map)

    Description We all use cell phone today. And we must be familiar with the intelligent English input ...