(5.11~5.17)总结

这周打了几场div2,暴露了我很多问题。这几场的div2给了我全新的体会。题目不难,也不是很难理解,但就是通过不了,尤其是这几场的第一题,属实为难到我了,倒不是说题目有多难,答案敲出来的并没有问题,要么是时间过长,要么就是Runtime error on test,后来我查了一下,出现Runtime error on test常见无非就是这几种“数组越界、堆栈溢出、数组过大,除以了0”等等,后来更改以后的确是改对了。
总的来说,这几场div2对代码的要求不高,但是对数学逻辑思维的要求很高,很多时候我都是能敲出代码,但是经常超时,代码不通过。在每次比赛后我看答案时,我会经常突然感受到我和大佬之间思路的差距,就是对运行效率的把控,能学到很多东西。就这几次做题经历来说,又搞懂了几个小知识点,我整理在这,以后忘了不用再去现找了
比如说不用科学计数法和保留小数位数

cout.setf(ios::fixed,ios::floatfield);//十进制计数法,不是科学计数法	
cout.precision(x);

取余公式

(a+b)%c = (a%c+b%c)%c
(a*b)%c = ((a%c)*(b%c))%c

setiosflags(ios::skipws 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出
setiosflags(ios::lowercase) 16进制小写输出
setiosflags(ios::showpoint) 强制显示小数点
setiosflags(ios::showpos) 强制显示符号

将一个字符串转化为数

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
template <class T>
inline T fromString(const string &str)
{
    istringstream is(str);
    T v;
    is>>v;
    return v;
}
int main()
{
    string s="465153";
    int a=fromString<int>(s);
    cout<<a<<endl;
    return 0;
}

这就是我这几场打完、加上查资料总结的知识点,越积越多,希望以后能够有所长进,先争取做出ABC来!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值