刷题小tips
自从认真做题以后,结合自己的做题体验以及网上前人的总结经验贴,罗列下列的小建议:
1.为了避免每一次都要重复输入测试数据的麻烦,利用输入重定向文件
我是只把标准输入stdin重定位到in.txt,然后标准输出stdout依旧是输出到屏幕
所以就加了#include<stdio.h> freopen("in.txt","r",stdin); fclose(stdin);
当要提交的时候记得把首尾加的这两行代码注释掉或者删掉!!
这里顺便提一下我的傻吊经历,我一开始在路径下建了一个叫in.txt的文件,结果发现输入根本没有效果,最后发现是这一台电脑的文件名显示效果坑了我一把
这是一台电脑根本不显示后缀,就是我命名为in.txt的文件他的完全名是in.txt.txt,所以当我把名字改回in后就正常了
2.使用scanf,printf会快一点,数据量大时用cout,cin会慢一点点,虽然大多数时候都是没有什么讲究的,我本人一直以来也更喜欢简洁的cout、cin,但是多学一点也没有什么坏处
scanf的时候如果不是数组类型的话,变量名前不要忘记加&,不然有可能就是segment fault
3.如果申请的是数组的话,申请空间最好比要求的大一点,特别是如果是字符串类型的话char a[n],n一定要比读取的空间大1,要给末尾'/0'预留位置
4.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!如果在代码里面把标准输出输入流重定向了,在最后一定一定要把那两行代码删掉,不要像我一样没删掉,然后出现段错误,还花了好长时间检查是不是数组越界,scanf是不是少写&,痛心疾首!!!!!!!!!!!!!!
5.还是在循环的时候,那些数量之间的关系要理清楚,特别是什么0开始还是1开始
6.结构体内部数据是没有初始化的,可能会出现一堆垃圾数据(像下图一样),所以尽量还是要自己初始化一下
使用struct的构造函数来初始化,用memset(object,0,sizeof(object))
7.string末尾追加字符
str+='c'; str=str+'c'; str=""+'c';
8.0==false 非0(包含负数)==true
9.使用<algorithm>中的fill(a.begin(),a.end(),value)可以避开memset的按照字节初始化方式,直接进行对象级别(如容器)的初始化
刷题小tips的更多相关文章
- 超星尔雅看课刷题小tips
用chrom浏览器,先安装扩展程序Tampermonkey BETA 然后进入> https://greasyfork.org/zh-CN 找一款适合自己的脚本安装即可刷课.
- 为了考PMP,我做了一个刷题小程序
一.背景 1.我是一名软件工程师,技术出身,担任开发组长,对项目管理不是很熟,所以决定系统学习下项目管理. 2.全球最适合的项目管理学习课程就是PMP,每年有4次PMP考试,证书还是很有含金量的. 3 ...
- ACM 刷题小技巧【转】
转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好 ...
- noip2012~2015刷题小记录
2012d1t1 密码 模拟题 #include<cstdio> #include<cstdlib> #include<cstring> #include<c ...
- 2021最新 Spring面试题精选(附刷题小程序)
推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序<面试手册> 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! 目录 推荐使用小程序阅读 1. S ...
- LeetCode刷题笔记和想法(C++)
主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...
- 【刷题】BZOJ 4316 小C的独立集
Description 图论小王子小C经常虐菜,特别是在图论方面,经常把小D虐得很惨很惨. 这不,小C让小D去求一个无向图的最大独立集,通俗地讲就是:在无向图中选出若干个点,这些点互相没有边连接,并使 ...
- leetcode 刷题记录(java)-持续更新
最新更新时间 11:22:29 8. String to Integer (atoi) public static int myAtoi(String str) { // 1字符串非空判断 " ...
- 刷题[CISCN2019 总决赛 Day2 Web1]Easyweb
解题思路 打开网页是这样一个登陆框,随机试了一下常见弱密钥,二次注入等.均是返回不同的猫咪图案 不同的id对应不同的猫咪图案.经测试,返回的id应该是无序,随机的.感觉这里有可能存在注入点,但是测试好 ...
随机推荐
- 用MATLAB的Classficiation Learner工具箱对12个数据集进行各种分类与验证
准备材料 以所有的特征集作为variable进行像Bayes吖.SVM吖.决策树吖......分类.同时对数据进行预处理,选出相关度高的特征子集作为新的一组data进行分类(预处理的代码不必放出来). ...
- Kafka运维大全来了!优化、监控、故障处理
Kafka运维大全来了!优化.监控.故障处理…… Kafka概念 Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一个分布式的 ...
- 常见问题:MySQL/B+树
平衡二叉树 此前讲红黑树时也提到了平衡二叉树,红黑树和AVL树都是能保证树不退化的平衡二叉树,平衡二叉树采用二分思想组织数据,能大大提高单点查找数据的效率,其组装过程略. 作为对比,此处也列出平衡二叉 ...
- poj3660(floyd最短路)
题目链接:https://vjudge.net/problem/POJ-3660 题意:给出一个有向图,n个结点,每个结点的权值为[1,n]中的一个独特数字,m条边,如果存在边a->b,说明a的 ...
- sqlservei 日志文件清除
USE [master] GO ALTER DATABASE DFTDDB SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DFTDDB SET ...
- python学习-60 面向对象设计
面向对象设计 1.三大编程范式 --面向过程编程 --函数式编程 --面向对象编程 2.编程进化论 --编程最开始就是无组织无结构,从简单控制流中按步写指令 --从上述的指令中提取重复的代码快或逻辑, ...
- 【统计与建模】R语言基本操作
# vec <- rep( seq(1,5,by=0.5),3) # vec <- seq( 1 , 10 , by = 1 ) # min(vec) #最小值 # max(vec) #最 ...
- JPA 一对一 一对多 多对一 多对多配置
1 JPA概述 1.1 JPA是什么 JPA (Java Persistence API) Java持久化API.是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没 ...
- javascript之new操作符
new 运算符做了哪些事情 1.新生成了一个对象 2.链接到原型 3.绑定 this 4.返回新对象 自己实现一个 new function create() { // 创建一个空的对象 let ob ...
- RabbitMQ 应用一
(百度百科)MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的 ...