码迷,mamicode.com
首页 > 其他好文 > 详细

最近一周学习总结

时间:2017-12-23 20:20:30      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:还需   需要   name   using   break   自己   思考   一个   一点   

  最近一周学习了紫书第七章暴力求解法。只学到了一半吧,进度不算快,但我还是很有收获的。现在我还在尝试平衡文化课学习与oi学习,我不敢一直学oi荒废了文化课,也更不愿意减少对oi的投入。这一周学习oi的时间主要是政治、地理上课时间以及其他同学课间上厕所或者玩闹的时间,毕竟我高二会选理科,地理不学每次都考高分(不知为啥),政治完全不会,放弃了,但是我不敢用自习时间学习oi,其他同学在学习,我不学,凭什么月考比他们高?

  这一周后三天坚持凌晨一点左右睡觉,第二天基本上可以保持精神饱满,就是感到身体老是发生一些小问题,比如突然耳鸣,血压感到不太对劲。再试几天吧,如果症状加深立即停止熬夜,如果消除了就继续坚持。

  竞赛上的话,基本上每天可以过一到两个例题的,但是7-5花了两天时间。我总结了一下原因,用学长的话说,就是太浮躁了。题目没有吃透,就一直想自己打出来,结果不是判断条件写错就是那个变量写的不对。这一周还发现一个问题,就是因为除去非算法原因的错误所花的时间太多了,比如一个小时之前做的题目困难的串,自己写了出来,结果debug花了很长时间,大约40分钟吧。最后发现的问题一是上边说的问题,我认真思考了我的程序,解决了算法上的问题,但总是不输出结果。这困扰了我很长时间,我对着书中的例句一句一句的对照也没发现错误。最后发现了错误原因,如下:

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int cnt,S[100],n,L;
 5 
 6 int dfs(int cur) 
 7 {
 8     if(cnt++==n)
 9     {
10          for(int i=0;i<cur;i++)printf("%c",A+S[i]);
11          printf("\n"); 
12          return 0;
13     }
14     for(int i=0;i<L;i++)
15     {
16         int ok=1;
17         S[cur]==i;
18         for(int j=1;j*2<=cur+1;j++)
19         {
20             int equal=1;
21             for(int k=0;k<j;k++)
22              if(S[cur-k]!=S[cur-k-j]){equal=0;break;}
23             if(equal){ok=0;break;}
24         }
25         if(ok)
26          if(!dfs(cur+1))return 0;
27     }
28 }
29 
30 int main()
31 {
32     cin>>n>>L;
33     dfs(0);
34 }

 

  第17行的S[cur]=i写成了S[cur]==1,为什么会出现这个问题呢?我想可能是因为写程序是心不静吧,还有就是题目练得还是太少。最近上机时总是出现这种问题,还需要多刷题目啊。

  今天晚上看看第七章其余部分,如果看懂了就认真理透,实在看不懂就开始刷题吧,洛谷vijos都可以。周日下午要继续刷题,下周一边刷题一边看看第八章例题。

最近一周学习总结

标签:还需   需要   name   using   break   自己   思考   一个   一点   

原文地址:http://www.cnblogs.com/zhao-wendao/p/8094135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!