【 错误总结 】

语言习惯

1打完while后,或者for,if后不要加;分号

while( scanf("%d",&n) != EOF && n )*;*
    { 
        scanf("%d",&m);
         memset(f,-1,sizeof(f));
      for(int i=1;i<=m;i++)scanf("%d",&q[i]);
      q[m+1]=n;q[0]=0;
      int ans=dfs(0,m+1);
      	printf("The minimum cutting is %d.\n",ans);
    }
    return 0;

2多组数据记得初始化
p.s:照明系统设计
3.同样的if语句也不要习惯性打分号;
4.字符的输入,时刻牢记是从0开始的。不要一时图懒就不改,最后忘记i就完蛋。
5.警防变量名重复(多背单词。。。)
6.为了使思维清晰,适当写一些备注。
7.开数组一定要符合题目要求。


语言运用类

1.sort的起止点问题。

sort(pass+1,pass+y-x+1 **+1** );

2.i ,j 用混

         //一开始居然写成a[i] == b[i]了。。。。
        if(a[i] == b[j]) f[i][j] = f[i-1][j-1] + 1;
        else f[i][j] = max (f[i-1][j] ,f[i][j-1]);
  1. 如果某个操作很费事,就打个标记而不用真的做。
  2. 网络流最大流Dinic,h数组从-1开始,len也从-1开始
    5.freopen(“”,“”)一定不能打错,写完看看能否编译运行
    6.有关序列成环的提取,int u = (i+n-j-1)%n+1,v = (i+j-1)%n+1;即 (pos-1)%n+1;
    7.考试最后半个小时用来检查自己的傻逼错误,免得事后难受。

题目阅读

  1. 数组开得不适当//注意队列如果不循环要开大十倍,线段树开四倍。
  2. 题目要求要注意,题目范围决定什么算法。

沉痛教训

UVA10305 Ordering Tasks
一个拓扑排序居然写了那么久;
错误有两个原因;

  • 1.没有注意函数的类型申明。把邻接表的插入函数写成了int型,这导致了我一直RE
  • 2.变量写错,把v写成u,同样的之前犯过的还有把i写成j,把j写成i,把fx写成sx之类的。这导致了我一直wa。
  • 3.当自己的代码明明应该正确但是有问题的时候要果断选择重构代码。
    启发
  1. 打代码的时候不要图快,眼睛要盯着屏幕,时刻判断有没有打错。
    2,注意函数的类型。
    3.出现自己检查不出来的错误,冷静检查。或者果断选择重构,
    最后,我太菜了、

RE大法

除法:分母不能为0;不然RE。
取模:同样分母不能为0;

爆零大法

1。死活不打暴力,解:如果没有符合复杂度的思路,一定先打暴力。dfs。。。。
2.数学题要打表找规律。

经验:

1.最小生成树的性质:
1).边能够把所有的点直接或间接的连通起来。
2).在满足要求1的情况下,边尽量少(n-1)
3).在满足要求1、2的情况下,那些边中长度最大的长度最小。

2.强联通分量(有向图)
任意两点可以互达。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐行tag

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值