草庐IT

明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。

杨枝 2023-04-14 原文

文章目录

🚥资源分享

我不知道小伙伴们有没有dev5.4.0的资源,假如有那是最好的。假如没有了,也不用着急,我已经将它们上传到gitee上了。可以直接下载喔~


学生机环境-Dev-cpp5.4.0及API帮助文档


这差不多是今年里最后一次系统的写蓝桥杯了吧,之后了,还是会更算法,只是不会这种系统的更蓝桥杯的算法了,会在执梗的社区冬冬这里更文章,跟着刷刷泡泡洛谷的题,会跟着英雄哥刷刷lc,记录一下在acwing跟着y总学算法的笔记,也算是尽自己的绵薄之力,帮y总宣传一下咱们acwing社区吧~。

因为写蓝桥杯嘛,然后也有很多在骂我呀,骂执梗呀还有骂泡泡的,其他的,p佬、小怂、乐乐和小羊那儿我倒是没有注意到太多负面的话吧。这个我没有什么好说的,我是逆来顺受,不喜欢抗争的人。

我们从来没有说过蓝桥杯十分十分重要,相当的有含金量的话,我和执梗的观念只是,这里有个比赛,我们正好也在准备它,那咱们也就更新和它相关的文章罢了,我们自己知道我们是菜狗,真觉得没必要你们辛苦打字骂我们几个。我们也是从当初对蓝桥带着一点好感到现在只想说一句:蓝桥杯绝绝子


🚧快捷键

1、Ctrl + N 新建源代码
2、Ctrl + F 搜索,同时也可以切换到替换了
Dev应该没有其他支撑咱们比赛时候使用的快捷键了,它没有自动补齐,没有代码联想的它,属实可爱。

然后我不知道是我热键冲突了,或是其他原因,我自己使用不了 ctrl +/ 进行注释, ctrl + shift + / 也用不了。这两个快捷键是大多数编辑器中的默认的注释方式了。

🚨环境配置

①编译——注:下面代码中的头文件应该是bits/stdc++.h。前面三张图被我敲错了,但是因为截屏弄的,我就不去重新截屏再加工了
②运行

③解决问题的步骤
出现这种问题,主要是因为这个dev,咱们刚拿到手的时候,大多数是没有进行设定编译器设置,需要咱们手动设置。(我都把头文件敲错了…都不报错…)
步骤一:

步骤二:

步骤三:

解决成功


再次编译运行

点击运行

🌻将dev修改为支持C++11

既然官方说了支持c++11,有人造好轮子了,那咱们就乖乖用吧,只是怎么用了?
比如常用的auto吧,假如不修改为c++11,是使用不了的。


修改操作:

再次编译+运行


现在就可以使用C++11标准的语法去编写代码了。

🌻建议直接万能头文件

我自己的建议了,平时刷题的时候可以有选择的#include需要的头文件,明天就直接老老实实万能头吧,提前敲好放着,要用的时候直接复制粘贴,可以省一点时间。

🚩常见问题

🌻编译无法通过——大多数是语法问题

1、代码拼写错误

这种报错的意思大概是这个变量还没有被声明过。

[Error] 'dsi' was not declared in this scope

这种情况是最好处理的了,编译器一般都会直接定位过去的。


再举一个例子

2、库函数名写错了
调用库函数的时候,函数名写错了,大致是这种样子的,读出来了,也是说,没有这个库函数嗷~

[Error] 'std::string' has no member named 'lenght'

3、库函数调用格式错误

比如想用sort排序。

正确格式

解决方式——大多数是依赖平时积累的经验+查提供的c++API.chm文档

4、缺少了标点符号,或者标点符号用错了

[Error] expected ';' before 'cout'

4、取名的时候,避免直接使用容易混淆的标识符,比如next、sort、max…
因为个别时候会与C++自带的变量名重复,导致编译器找不着北。

🌻编译可以通过,但结果有问题——大多数是逻辑问题了

1、假如是数组,注意数组角标越界
编译的时候Dev不会出现任何警告或者提示,但是运行出来的结果挺奇怪的

运行结果


常见的数组角标可能越界的题型:
1、搜索。注意搜索的起点是1还是0
2、差分 和 前缀和 因为有i-1的索引,大多数也是从1开始
3、动态规划,大多数也是存在i-1的索引,结合实际情况而看了
暂时想起这么点,假如还有的会来补充的~


2、代码内部逻辑错误——调试
方法一:printf/cout输出大法
Dev编辑器调试
能肉眼deBug是最好的,假如直接条调试比较吃力的话,可以就使用Dev自带的调试功能,虽然不太好用…


步骤①

步骤②

步骤③


3、TLE(超时问题)
在本地的Dev跑,就算跑了半个小时,也不会出现超时的提醒,但是考试的评测系统是有时间限制的,大多数情况下,就是1秒,现在C++一秒大概能进行一亿次运算 ( 1 0 7 − 1 0 8 ) (10^7 - 10^8) (107108)的样子,所以做题之前,先看好看好数据范围,假如数据范围是到 1 0 5 10^5 105了,这种时候,假如用两个for循环来一个 O ( n 2 ) O(n^2) O(n2)的时间复杂度,那么进行的就是1 0 10 0^{10} 010次运算,会超时的(只是不会做的时候,可以考虑暴力骗分)


1. n ≤ 30 n≤30 n30, 指数级别, dfs+剪枝,状态压缩dp

2. n ≤ 100 n≤100 n100 => O ( n 3 ) O(n^3) O(n3),floyd,dp,高斯消元

3. n ≤ 1000 n≤1000 n1000 => O ( n 2 ) O(n^2) O(n2) O ( n 2 l o g n ) O(n^2logn) O(n2logn),dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford

4. n ≤ 10000 n≤10000 n10000 => O ( n ∗ n ) O(n∗\sqrt n) O(nn ),块状链表、分块、莫队

5. n ≤ 100000 n≤100000 n100000 => O ( n l o g n ) O(nlogn) O(nlogn) => 各种sort,线段树、树状数组、set/map、heap、拓扑排序、dijkstra+heap、prim+heap、Kruskal、spfa、求凸包、求半平面交、二分、CDQ分治、整体二分、后缀数组、树链剖分、动态树

6. n ≤ 1000000 n≤1000000 n1000000 => O ( n ) O(n) O(n), 以及常数较小的 O ( n l o g n ) O(nlogn) O(nlogn) 算法 => 单调队列、 hash、双指针扫描、并查集,kmp、AC自动机,常数比较小的 O ( n l o g n ) O(nlogn) O(nlogn)的做法:sort、树状数组、heap、dijkstra、spfa

7. n ≤ 10000000 n≤10000000 n10000000 => O ( n ) O(n) O(n),双指针扫描、kmp、AC自动机、线性筛素数

8. n ≤ 1 0 9 n \le 10^9 n109 => O ( n ) O(\sqrt n) O(n ),判断质数

9. n ≤ 1 0 18 n \le 10^{18} n1018 => O ( l o g n ) O(logn) O(logn),最大公约数,快速幂,数位DP

10. n ≤ 1 0 1000 n \le 10^{1000} n101000 => O ( ( l o g n ) 2 ) O((logn)^2) O((logn)2),高精度加减乘除

11. n ≤ 1 0 100000 n \le 10^{100000} n10100000 => O ( l o g k × l o g l o g k ) O(logk×loglogk) O(logk×loglogk),k表示位数,高精度加减、FFT/NTT


空间倒是一般都不会爆的,只要不开阶乘级别的数组(比如int a[ 20!]),算法竞赛对空间上的要求比较低。

4、涉及到取模的、或者数据范围很大,还要进行整数的乘法的题,不要使用int了,全部使用 long long

其他的,也没有了吧,希望大家不要紧张叭~
努力对得起自己的付出就好,执梗和我可能虽然是冲刺群的主要经营者,要选题,要催打卡,要踢人…,就我自己而言嘛,我写的题肯定是没有泡泡、小怂、p佬、乐乐他们几个多的,所以我自己也是挺慌,学校也爆了疫情,老师说之前申请的线下赛是不能改了,不知道周六能不能打了。
可能大家也知道今年线上赛作弊的,或者车队,800、1500包什么什么奖,这个了,我就不做评价啦,每个人有每个人的价值观叭,加油加油加油,会好的


然后有不懂的题想请教的,可以私信这几位博主呀,这个两个社区:高校算法学习社区AI技术社里也有大量的大佬呀,大家也可以进去提问的喔~。
浅说一点,私信请教别人的时候,点个免费的关注吧,人家并没有什么给谁讲题的义务,我经常也遇得到那种也没有点赞,也没有关注的,直接一段代码的截屏,问,为什么这种写。换位思考一下,就你想想你被这种问了以后,心中是怎么想的了

C/C++

Pluto(算法健将,各类周赛打宝宝级别)看看Ta😊
泡泡(以大一学籍让无数大四学长自愧不如,正在刷爆洛谷)看看Ta😊
折叠的小饼干(实力派学姐,温柔耐心~)看看Ta😊
knao_s(题解绝绝子,除了详细到位,还是详细到位)看看Ta😊
永遇乐金枪鱼(一位谦虚的大佬,精准把握你题解思路中不对的地方看看Ta😊

Java

执梗(带三百人冲刺蓝桥主要负责人,讲题细心,出题尽职尽责🌹🌹🌹)看看Ta😊
小怂(用最朴素的for、while、if语句刷爆蓝桥云课,担心不熟悉数据结构会影响解题的小伙伴可以多请教他喔~)看看Ta😊
小羊不会飞(题解常年稳居热榜前三,高质量题解质量,讲题耐心)看看Ta😊
Hydrion-Qlz(西安交大大佬,算法爱好者)看看Ta😊
小成同学(acwing师兄,刷题健将,考虑问题周全)看看Ta😊
托马斯—酷涛(Java算法爱好者,对多个方向均有涉猎)看看Ta😊
小王同学(算法博客详细,答疑热情,登上热榜第一看看Ta😊

Python

小郑(国赛强劲实力选手,热榜常客,求知欲很强)看看Ta😊
小蓝(算法思路清晰,博客题解详细)看看Ta😊
秋刀鱼(会三门语言,题解很详细滴)看看Ta😊

有关明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。的更多相关文章

  1. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  2. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  3. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  4. ruby - rails 3.2.2(或 3.2.1)+ Postgresql 9.1.3 + Ubuntu 11.10 连接错误 - 2

    我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat

  5. ruby-on-rails - Rails 2.3.11 DateTime BigDecimal 精度 - 2

    我目前有一个运行Ruby1.8.7和Rails2.3.2的RubyonRails项目我有一些从数据库中读取数据的单元测试,特别是两个连续项目的日期时间列,这两个项目应该相隔24小时。在一项测试中,我将项目2的日期时间设置为与项目1的日期时间相同。当我执行断言以确保两个值相等时,测试在rails2.3.2下工作正常。当我升级到rails2.3.11时,测试失败显示两次之间的差异将关闭并出现以下错误:expectedbutwas.这两个版本的rails中似乎存在浮点转换问题。如何解决float问题? 最佳答案 这也发生在我身上,我最终这

  6. ruby-on-rails - rails delete_if 使用哈希忽略当前文章(中间人) - 2

    我为你们准备了一个简单的。我想要一个特色内容部分,其中排除了当前文章所以这可以通过delete_if使用MiddlemanBlog:但是我使用的是中间人代理,所以我无法访问current_article方法...我有一个YAML结构,其中包含以下模拟数据(以及其他数据),文件夹设置如下:data>site>caseStudy>RANDOM-ID423536.yaml(由CMS生成)在每个yaml文件中,您会发现如下内容::id:2k1YccJrQsKE2siSO6o6ac:title:Heyplace我的config.rb看起来像这样data.site.caseStudy.eachdo

  7. ruby-on-rails - 报错 - 在 Snow Leopard 上安装 RVM - 2

    我正在尝试在我的SnowLeopard10.6.8上安装RVM,方法是:\curl-Lhttps://get.rvm.io|bash-sstable--ruby我得到这个错误:InstallingRubyfromsourceto:/Users/Villa/.rvm/rubies/ruby-2.0.0-p0,thismaytakeawhiledependingonyourcpu(s)...ruby-2.0.0-p0-#downloadingruby-2.0.0-p0,thismaytakeawhiledependingonyourconnection...ruby-2.0.0-p0-#e

  8. Win10 / 11新电脑最简单跳过联网激活和使用本地账户登录方法 - 2

    跳过联网激活:OOBE界面直接按Ctrl+Shift+F3进入审核模式。这样就可以直接进入系统进行一些硬件测试等,而不用联网激活导致新机无法退货。需要注意的是,在审核模式下进行的一些操作都会保留,并不会在退出后自动还原!安装的软件在正常开机进系统后还会看见!如果电脑确实没连互联网又不想强行跳过OOBE(网上很多教程会叫你直接结束OOBE进程,但这是不推荐的,因为一些厂商自带优化程序和系统初始化设置在后面都会应用,对于笔记本跳过的话你会发现驱动和内置应用都没有装上。其实这部分脚本就在系统盘的Recovery隐藏文件夹下),可以参考以下方式:https://www.landiannews.com/

  9. Unity 报错No ‘git‘ executable was found. Please install Git on your system then restart - 2

    亲测可用。Anerroroccurredwhileresolvingpackages:Projecthasinvaliddependencies: com.unity.xxx:No'git'executablewasfound.PleaseinstallGitonyour  systemthenrestartUnityandUnityHub在我们使用PackageManager时,Unity允许我们使用Git上的package(点击加号,选择addpackagefromgitURL,或者是直接在Asset/Packages/manifest.json中添加包名)。但是这种操作需要我们事先装好g

  10. ruby - 在 Middleman 中移动博客文章位置 - 2

    我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

随机推荐