首页 > 其他分享 >曾经掉过的坑

曾经掉过的坑

时间:2024-08-18 18:16:58浏览次数:4  
标签:不要 定义 循环 数组 曾经 endl dp

  1. 十年\(OI\)一场空,不开\(long long\)见祖宗。(要用脑子判断开不开)

  2. 多测不清空,亲人两行泪。

  3. 看清变量名,不要重复定义,更不要看错打错,不要定义太多\(a,b,c,d,e\)这样的变量名

  4. 复制粘贴时一定要仔细检查,不要漏改、眼花。

  5. 循环变量时看好\(i,j\),逆序循环时一定是\(--\)。

  6. 全局定义后的变量不要在局部再次定义。

  7. continue是到循环为止都不再执行,不要因为if else忘记。

  8. 定义数组时一定要注意是否爆int, 不要定义像 \(dp[30][500005]\) 这样的数组,还有,不要盲目复制粘贴代码。

  9. memset 慎用,初始化最好for循环。

  10. 像 \(dp[i][j]=min(dp[i][j],dp[i+1][j]+(a[i]==k))\) 这种语句 \((a[i]==k)\) 不能拿出来另外判断!

  11. 链式前向星要开2倍。

  12. 强制在线一般都有 if(l>r) swap(l, r); 这样的语句。

  13. 取模最好每乘一下都取模。(尤其是 \(+=\))

  14. 暴搜一定要算好最大值,避免求 \(\max\) 时出锅。还有边界条件

  15. 考试时不要用endl!!!不想换printf就用#define endl "\n"

  16. 莫队无输出多半是板写错了,务必仔细检查。

  17. 线段树修改查询操作判断r<=midl>mid后面传的参数一定是lid/rid, l, r!!!

数论

  1. 如果无输出,很可能是N的值太大了。

  2. 如果输出为0,很可能没有使用init()。

  3. 如果模数很小,要考虑lucas定理。

  4. 当没有模数的时候,直接用组合的公式即可(\(f[n]/f[m]\%p/f[n-m]\%p\))。

  5. 如果不明情况TLE或RE,可以考虑换写法。

  6. init 函数最好最大循环到 n。


一些总结:

  1. 求方案数时,首先考虑\(dp\),然后考虑组合数学,可以用逆向思维去想。不会就用暴搜。

  2. 如果树状数组无输出,多半是遇到0

  3. TLE时,可以考虑将一些数组预处理出来,一些递归函数不要重复调用(例如循环里求同一个数的逆元、线段树函数调用)。如果只超时几毫秒,可以考虑快读优化。或者endl换\n。

  4. dp题里最关键的部分(影响答案的,也就是决策点),往往就是dp数组需要维护的东西。

  5. 一定要审清题,考试时一定不要放弃思考。

  6. 如果拿到题没有思路,可以手模一下样例,或者从部分分写起,试试找规律、猜结论。

  7. RE有可能是循环越界了。

标签:不要,定义,循环,数组,曾经,endl,dp
From: https://www.cnblogs.com/zhouyiran2011/p/18365889

相关文章

  • 修改.gitignore里面曾经追踪过的文件变成不追踪
    .gitignore 只能忽略那些原来没有被追踪(tracked)的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore 是无效的解决方法就是,先把本地缓存删除(改成未track状态),然后再提交:gitrm-r--cached.gitadd.gitcommit-m'update.gitignore'gitpush 具体步骤如下......
  • qaq(曾经の NOIP 模考)
    TomoyukiMIzuyama要出\(n\)道题,他现在有\(m\)个不同的乱码,他非常的阴间,所以他决定先决定先用这群乱码起好第一个题目的名字,之后每个题目都直接从上一个题目名字中找一个子序列当做自己的名字。现在他想知道,在第\(i\)道题目名字长度为\(a_i\)的情况下(\(a_1\gea_2\ge\cd......
  • 在前端面试中被问到曾经遇到的具有挑战性的项目或者难点项目时?
    在前端面试中被问到曾经遇到的具有挑战性的项目或者难点项目时,你应该挑选那些能够展示你技术能力、解决问题能力以及适应复杂情况能力的项目来回答。这些项目应该符合以下几个条件:技术复杂度较高:选择一个在技术上给你带来挑战的项目,可能是因为使用了新技术栈,或者技术实现上遇到......
  • C++ //练习 14.17 你在7.5.1节的练习7.40(第261页)中曾经选择并编写了一个类,你认为它应
    C++Primer(第5版)练习14.17练习14.17你在7.5.1节的练习7.40(第261页)中曾经选择并编写了一个类,你认为它应该含有相等运算符吗?如果是,请实现它;如果不是,解释原因。环境:LinuxUbuntu(云服务器)工具:vim 代码块classDate{ public: Date(); Date(size_ty,size_tm,siz......
  • 不管多久,都不要忘记曾经的初心~~
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`不管多久,都不要忘记曾经的初心~~日期:2017-6-9阿珏二次元浏览:4394次评论:1条有些机会,因瞬间的犹豫,擦肩而过;有些缘分,因一时的任性,滑落指间......
  • 那些曾经逝去的记忆
    当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解那些曾经逝去的记忆日期:2016-10-23阿珏谈天说地浏览:1458次评论:2条有的时候真的想,永远的都不要长大,永远都停留在童年时期。但.............
  • “那个夏天,她曾经活过啊”
    ⾃定义类型:结构体1.结构体类型的声明1.1.结构体变量的创建和初始化1.2结构的特殊声明1.3结构的⾃引⽤2结构体内存对⻬2.1对⻬规则2.2练习2.3为什么存在内存对⻬?2.4修改默认对⻬数3.结构体传参4.结构体实现位段4.1什么是位段4.2位段的内存分配4.3位段的......
  • 因有人突然访问自己的qq空间因而看自己曾经的qq空间和《头脑特工队》有感
    人的成长真的失去太多太多,多到可以让一个人的外在表现完全改变,足以让你无法相信你曾经是这样一个人,现在的我甚至连朋友圈都不敢发,也不敢随便点赞,总怕某某人看到怎么,我彻底懵了,我怎么转变这么大的?我再也回不到当时人与人间的关系,那么纯真那么自然那么简单,现在人与人之间仿佛有一层......
  • 盲目的崇拜西方真的好吗——曾经有资格成为院士的顶级学者成为了流浪美国街头的流浪汉
    相关:https://mbd.baidu.com/newspage/data/dtlandingwise?sourceFrom=ganyu&nid=dt_4752065470757088451这位留美的博士,在当年读博所获得的学术成果可以称为是国内的顶级学者了,在国内其学术成果在当时的那个年代基本就是妥妥的院士候选了,不过令人唏嘘的是这位本能成为院士的顶......
  • Visual Studio如何再次配置一个曾经配置过的C++库?
      本文介绍在VisualStudio软件中调用C++各种配置、编译完毕的第三方库的方法。  在撰写C++代码时,如果需要用到他人撰写的第三方库(例如地理数据处理库GDAL、矩阵运算库Armadillo等),并不能像Python等语言那样,安装好库后直接在不同代码文件中使用;而是需要每一次新建一个代码文......