1?咳咳2年以来学了些啥
来源:互联网 发布:c语言 取消包含头文件 编辑:程序博客网 时间:2024/06/05 03:57
- 改错本
- 必须剁手的错误
- 头文件
- 等号
- long long
- 我是谁我在哪我在做什么
- 数组越界
- 清零
- 读入换行
- 必须剁手的错误
- 算法总结
- 搜索
- 深搜
- 广搜
- 贪心
- 搜索
NOIP在半期后第一天。尽管半期考试已经使我丧失了思考的能力……
改错本
必须剁手的错误
头文件
由于编译器的原因,某些头文件没打,却没有报错……
以下几个头文件不管怎么先打上:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;
等号
学了那么久,却仍然会这样打:
if(a=b) printf("Maybe there's something wrong.");
可怕的是,C允许我们这样写【手动吐血】……
long long
该用的时候还是用吧……
(我不会告诉你我现在想把所有整形变量定义成long long)
我是谁我在哪我在做什么
数组越界
看这段代码:
#define MAXN 105//我把数组开大了的哦~int C[MAXN][MAXN];void init(){ C[1][1]=1; for(int i=2;i<=MAXN;i++) for(int j=1;j<=i;j++) C[i][j]=C[i-1][j]+C[i-1][j-1];}//不要在意我写错没有
第6行那个刺眼的i<=MAXN
,让你的程序和人直接崩溃。
清零
你的vis清零了吗?你的cnt清零了吗?你的ans清零了吗?你的各种该清0的、该清1的清了吗?
以后只要有这种:
while(~scanf("%d%d",&N,&M)){}
或者是这种:
while(1){ scanf("%d%d",&N,&M); if(!N&&!M) break;}
一定要加上诸如:
ans=0;memset(vis,,0,sizeof vis);memset(Edge,0,sizeof Edge);
读入换行
每当题目的输入中有字符型时,一切都变得朦胧起来……
说白了就是空格和换行符被莫名其妙地读进去了。
接下来总结一下: scanf
:
当读入字符串时:读到制表符(空格、换行等)时结束,且不会把制表符读入;
当读单个字符时:什么都会读。 gets
:不要用!不要用!不要用! fgets
:读入一行字符串,遇到空格会继续读,且把空格储存下来,遇到换行停止,且会把换行读入进去。 getchar
:读入任意一个字符。
算法总结
搜索
枚举枚上天,暴力出奇迹 ——题记
深搜
void dfs(参数){ if(边界) { 记录结果 return; } for(枚举这一步的所有情况) if(没有访问过) { 标记 dfs(改变参数); //取消标记 }}
广搜
queue<node> Q;//定义在外面,自动清零void bfs(){ Q.push(初始状态); 标记初始状态//注意!! while(!Q.empty()) { node t=Q.front(); if(t为最终状态) 输出结果 for(枚举t可以得到的状态) if(没有访问过) { 标记 Q.push(这个状态); } Q.pop(); }}
广搜写得少,例题:【NOI2001】聪明的打字员
贪心
贪心只能过样例 ——题记
阅读全文
0 0
- 1?咳咳2年以来学了些啥
- 咳咳
- 咳咳 突然就想开一个博客了
- 学c以来的感受
- (图志)学Java以来第1个基于MVC的WEB项目
- 自2011年以来
- 学了些什么?
- 这一年半以来,关于 Android,我都写了些什么?(一)
- 自2008年上线以来,App Store已经为开发者带来了700亿美元收入
- 咳咳~我来汇报我这个月的收获了!!!(*^__^*) 嘻嘻……
- 这算是学程序以来第一篇博文吧
- 数字游戏 学C语言以来最好玩的一次
- 学编程以来第一次遇到的灵异事件
- 关于Struts,到底是要先学了1再学2,还是直接学2?
- 百试不爽的面试经——咳咳,收到比亚迪面试通知的童鞋注意了
- 西安今天下了入冬以来的第一场雪!
- 工作以来给了我很多力量的一些文章
- 咳咳 新手上路
- [工具]Ubuntu安装HP MFP m128fn型号的打印机
- Android O 开机动画铃声
- C语言中用队列和广搜解决六数码问题。
- 刷LeetCode(9)——Palindrome Number
- 想工作的就快点动起来吧!!!
- 1?咳咳2年以来学了些啥
- 线段树专题训练
- 在给定范围内统计2出现的次数
- React Native网络状态解析及封装
- svn RA layer request failed unable to connect to a repository
- 设计模式----工厂模式
- 使用互斥锁和条件变量实现实现读写锁
- Android通过代码模拟物理、屏幕点击事件
- JavaScript6里出现了哪些新语法、新特征