自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 DHUOJ 基础 118 119 120

1、devc++调试的时候可能会出现延迟一两行才更改数据的情况。这样的代码,像输入5,2/5和1/2的位置就不对。也可以不设置double x。1、一开始太想当然了。

2026-03-02 22:04:14 180

原创 DHUOJ 基础 115 116 117

这种类型报错说明类型名称打错了,拼写错误另存。

2026-02-28 19:00:00 769

原创 DHUOJ 基础 112 113 114

1、旧编译器不支持列表初始化 + 类内初始化处理方法alpha temp;int num;int age;int score;int n;cin>>n;i<n;ss.num=num;ss.age=age;这种类型报错说明类型名称打错了,拼写错误。

2026-02-27 14:12:28 442

原创 DHUOJ 基础 109 110 111

1、思路是将两个字符串对齐2、熟练字符串函数1、substr的位置搞错了1、熟练结构体。

2026-02-26 19:05:47 535

原创 DHUOJ 基础 106 107 108

1、错误代码:没有处理最后的进位,导致最后有进位时缺失一位数int n;cin>>n;i<n;cin>>a>>b;string res;int sum=0;sum=sum%10;sum=1;//lena--;//lenb--;i>=0;1、iostream库里面可以控制16进制的输入输出1、与前面那个纯粹合数几乎一样。

2026-02-24 23:38:13 713

原创 DHUOJ 基础 103 104 105

1、超时代码int n;cin>>n;string ss;cin>>ss;int k=0;i<count;i++){i<k;输出:如果出现两个一样的5,即出现两个连续分隔符就会出现问题1、错误代码:无法处理长字符串if(!//其实不用转成整数,反而会因为假如一个字符串过长,转成整数后超出范围照成运行时错误else{else{int n;cin>>n;cin>>ss1;

2026-02-24 21:15:00 1454

原创 DHUOJ 基础 100 101 102

1、不能设置全局变量为count,会产生冲突2、num==1的话既不是素数也不是合数,要考虑这种特殊情况,如果不||num==1的话,那么isprime改成isnothe,然后将if(n<=1) return 0删掉3、要判断数组是否越界,没有判断直接报错字符串了i<=sqrt(n);string ss;i>=1;1、一定要注意输出说明,这道题的行尾不允许有空格。

2026-02-23 13:58:42 778

原创 DHUOJ 基础 97 98 99

int m=0;int len=0;n/=2;int re=0;i>=0;int n;1、学会分割函数2、掌握stoi的用法1、DEVC++不能调试string类型变量,只能打印调试因为string不是基础类型是一个类模板,调试会使得进入类内部(这就是你以为的卡住),使用成员函数c_str()进行调试2、如果不加上len++,j++3、插入的是j+1位置4、insert插入字符串和字符的写法有区别。

2026-02-22 22:26:31 917

原创 DHUOJ 基础 94 95 96

1、多学点字符串函数1、最后一个字符串的后面没有空格,所以最后要清算一下1、结构体运用不熟练。

2026-02-21 17:44:55 668

原创 DHUOJ 基础 91 92 93

1、理解这个输出都花了一段时间2、不清楚如何读这个有换行符又是一段的输入scanf的截断规则%c:无截断,读取任意单个字符(最容易踩坑)%c会读取输入流中下一个字符,不管这个字符是啥 —— 包括空格、回车 (\n)、Tab(\t)、甚至 E 都不会截断它。1、输出记得强制转化1、核心思想是双重字符串。

2026-02-20 23:24:53 878

原创 DHUOJ 基础 88 89 90

1、sort 并不是只能对整数类型进行排列 —— 无论是 C++ 标准库的std::sort,还是其他编程语言中的排序函数,本质上都是对可比较的元素进行排序,字符、字符串、自定义类型等只要能比较大小,都可以用sort排序。sort 的核心是比较元素的大小关系,而不是限制元素的类型。只要两个元素能通过<、>等运算符比较出 “谁大谁小”,sort 就能对它们排序。1、直接除21、没有注意看输出说明。

2026-02-19 12:00:00 1207

原创 DHUOJ 基础 85 86 87

int n;cin>>n;cin>>arr;cout<<"6";i<11;int n;cin>>n;cin>>arr;i++){1、需要手动结束输入2、看错题目了,c是非负整数,不过无伤大雅。

2026-02-18 00:00:00 230

原创 DHUOJ 基础 82 83 84

1、要记得考虑0这个特殊情况1、第二行是空格2、cin不能输入空格,所以转为scanf输入。

2026-02-15 18:31:42 296

原创 DHUOJ 基础 79 80 81

1、反正考试写不出,没招了1、要注意目标饲料和种类饲料为0的情况1、为什么会出错?核心原理讲解我们日常使用的是十进制(0-9)计数,而计算机底层用的是二进制(0-1)存储浮点数(如double类型)。并非所有十进制小数都能被二进制小数精确表示。1. 直观的类比理解就像我们用十进制无法精确表示(无限循环)一样,二进制也无法精确表示像0.10.2这样的十进制小数 —— 它们在二进制中是无限循环小数。double。

2026-02-14 12:00:00 1070

原创 DHUOJ 基础 76 77 78

1、要注意每个if后再出去要把flag数组值复原2、复原的时候要把当前arr数组的值也减去3、关于输入// 多组测试数据:外层加while循环读取,直到输入结束while (cin >> arr[1][1]) { // 先读第一个数,触发多组输入1、要注意up>=down和left<=right的条件限制1、。。。这是难度中吗,给我一个准确的难度,真到考试的时候这么繁琐做一道题。。。

2026-02-13 12:00:00 725

原创 DHUOJ 基础 73 74 75

1、用两个数组int r;i<r;i++){j<r;j++){i<r;i++){j<r;j++){if(j!cout<<endl;count++;

2026-02-12 00:00:00 486

原创 DHUOJ 基础 70 71 72

1、一直在PE,调取ASCII码正确的本人的其中32是空格符号的意思,说明最后一行都多打了一个空格最后一行的1后面不能有空格,即不能打印一行的第二个1时直接cout<<"1 ",将1和空格一起打印1、注意最后一个牌后没有没有空格1、本人想的是由上至下进行dp,显然不方便2、二维vector数组在一些编译器环境下vector<vector<int>>会将后两个连起来的>>认成输出符号的一部分,所以要用空格隔开。

2026-02-11 18:00:00 863

原创 DHUOJ 基础 67 68 69

1、注意除3i<=sqrt(n);int m,n;i<=n;1、先用数组存储杨辉三角。

2026-02-10 00:00:00 1731

原创 DHUOJ 基础 64 65 66

1、直接用暴力的解法,原本的思路是为了节省时间开销尝试1,10,11,100,101,110,111,1000……这样的顺序去判断,但是会非常麻烦,反正我在有限时间想不出来,passn/=10;return 1;int n;int re=n;re++;1、一开始的时候d其实剩余总天数,要为 n+d;2、要计算的是curmon,而不是nextmon3、判断是否要进一年应该放在d>curdaynum的if语句里面1、打印字符的时候要强制转化。

2026-02-09 00:00:00 627

原创 DHUOJ 基础58 59 60

1、注意判断count是否为10的倍数的代码应该放在if里面,不然会出现反复输出换行符的情况,例如29是第十个素数,如果放在原本位置,在30的时候,count还是10,会导致多一个换行符1、注意是1.0/i变成浮点数除法int sum=1;i<=n;return sum;int m,n;cin>>m>>n;

2026-02-07 00:00:00 260

原创 DHUOJ 基础 55 56 57

1、可能会出现A集合最后几个数大于B集合最大数的情况,要记得加上1、last_h数组是严格递增的1、注意这是大数相乘,要用数组模拟手工相乘2、这里的i不是手工模拟的单个数字,所以最后算最高位的进位时要用while循环,可能进位是多位的。

2026-02-06 00:00:00 912

原创 DHUOJ 基础 61 62 63

int sum=1;i<=n/2;return sum;int m;cin>>m;int a,b;cin>>a>>b;i<=sqrt(n);int t;cin>>t;int n;cin>>n;i<n/2;1、范围要加上=,例如6=3+3。

2026-02-05 19:27:45 411

原创 DHUOJ 基础 52 53 54

1、自己没想出来,数论拆分类型:要让拆分后的数的个数最多,核心原则是:尽可能先取最小的连续正整数(1,2,3,...),因为小数字能堆砌更多个数;若取完连续小数字后还有剩余值,再将剩余值从最后一个数开始,从后往前依次加 1(保证所有数仍互不相同)。1、建立正确的函数1、先用数组存储,然后先循环b再循环a2、一开始使用的是k+=b){flag=0;break;问题在于没有x++会导致死循环3、更高效的核心代码如下,这样可以不需要两个标记// 从b先开始,题目要求b先排序b <= m * m;

2026-02-05 00:00:00 809

原创 DHUOJ 基础 49 50 51

1、2、记得二刷1、核心是只有无重复项才向后遍历2、里面初始化是int j=i+1,,不是int j=i;j<remain-1;j++){//不是j=iremain--;int a,b;int k=a*b;b=b*2;a=a/2;

2026-02-03 07:06:51 914

原创 DHUOJ 基础 46 47 48

int num=0;i<101;int re=k;g=k%10;k/=10;s=k%10;k/=10;b=k%10;k/=10;q=k;cal();int n;1、max不能初始化为0,要初始化为更小的数以应对负数1、和上一题一个思路。

2026-02-02 13:44:08 509

原创 DHUOJ 基础 43 44 45

1、max不要设置为1,要设置为0,不然如果各个数都只出现一次,会以第一次出现的数为结果1、还是看清题目吧,把时辰和速度代入反了1、注意一下最后cur=n,不然死循环。

2026-02-01 17:04:38 798

原创 DHUOJ 基础 40 41 42

1、忘记k++了2、不要进行下述错误思路代码i<m+n;i++){i=i%m;1、j<9+i;j++){//顺//这个地方不能j=j%9//否则j<9+i这个条件会一直满足进入死循环1、看清题目。

2026-01-31 09:30:33 857

原创 DHUOJ 基础 37 38 39

1、注意一下1月13号是星期六先提前存储2、最后一年的12月的那个31号不用加,因为得到的是最后一年的后一年的1月13号的星期3、注意小细节,不要笔误4、400要考虑进去1、自己想到的方法是用数组1、用数组轮换2、最后再去ch[i]+1,而不是ch[count++]=len[cur]+1,这样思路更清晰3、j<remain4、看清题目要换行5、不用变长数组,但是devc++编译没报错,而且38题也用了变长数组。

2026-01-31 07:32:41 604

原创 DHUOJ 基础 34 35 36

1、先用 i+=10测出来前几个符合的数发现都是在99的基础上加100的倍数,所以改成了 i+=1002、范围控制在 i<=1000001、采用动态规划2、算了,感觉考试两个小时我也想不出,看看得了。

2026-01-30 03:08:37 573

原创 DHUOJ 基础 31 32 33

i<=sqrt(n);return 1;int n;cin>>n;int t;cin>>t;1、版本1代码没有考虑到n>1的情况double n;cin>>n;;i++){su*=i;e+=1/su;k=i;//注意不要 printf("%.6lf %d\n",e,k+1);int n;int sum=0;sum+=n%10;n/=10;

2026-01-25 05:44:20 70

原创 DHUOJ 基础 28 29 30

1、控制换行用gnum计数2、一直卡着是因为最后一行也要endl3、还可以用下列方法进行输出,更简单无1、需要进阶比较,注意一下,不要直接年×月。

2026-01-24 08:04:07 373

原创 DHUOJ 基础 25 26 27

int n;s=s/3;1、在T13求阶乘结果0的个数中有提示:在乘积中,末尾有多少个0,主要看各乘数的素数因子中有多少个2和5,每一个2和5的结合将给末尾贡献一个0。而乘数中因子2的个数远多于因子5的个数,因此,就计算各乘数中因子5的个数即可。所以这个题目算出把5抵消后的2个数再进行计算即可2、因为求的是除0之外的尾数,所以只需要关注低位即可,所以每次将结果%100000,防止数据太大而溢出1、这个题目考察的是输入。

2026-01-24 05:56:23 546

原创 DHUOJ 基础 22 23 24

有好几个地方要处理1、用数组进行存储,方便循环队列2、错误一:自己设置的下标从1开始但是用的从0开始的公式在 1 开始的环形结构里,从 pos 位置出发,顺时针数 m 个人,最后那个人的位置 = (把起点转 0 开始 + 走 m-1 步)绕回环内 + 转回 1 开始。对比:如果硬记,不如记这个 “人话版” 规则场景公式人话理解下标从 0 开始从 pos 数 m 人,走 m-1 步,绕回环内下标从 1 开始转 0 开始数完,再转回 1 开始3、如果用下标从1开始还需要。

2026-01-23 23:10:09 597

原创 DHUOJ 基础 19 20 21

1、看清题目是连续的数1、注意一下这种最后一个样例不空行的输入手法int n;cout<<1;i<=n;i++){i>=1;

2026-01-22 07:32:19 576

原创 DHUOJ 基础 16 17 18

1、一开始将a初始化为double类型,但是在if语句中a%i==0报错了,不能用double类型取余int类型,后面将i的类型也改成了double,还是不行,显示不能用double类型取余double类型,正确的写法应该是都用int类型,最后用double result=(double)sum/a,注意不能用double(sum/a),不然会先进行整数运算而导致精度缺失;或者也可以cout<<1.0*sum/a,乘一个1.0转换成浮点数运算。

2026-01-22 06:37:18 631

原创 DHUOJ 基础13 14 15

1、一开始完全想岔了,后面需要重做一次2、思路统计 5 的个数的方法:先算 N 中有多少个数是 5 的倍数(贡献至少 1 个 5):N / 5;再算有多少个数是 25 的倍数(贡献额外 1 个 5):N / 25;接着算有多少个数是 125 的倍数(贡献再额外 1 个 5):N / 125;以此类推,直到除数超过 N 为止,把所有结果相加就是总 5 的个数。比如 N=25:25/5=5(5、10、15、20、25 各贡献 1 个 5);

2026-01-21 02:58:21 573

原创 DHUOJ 基础 10 11 12

1、时间转化得不够熟练int s;cin>>s;i>0;i--){

2026-01-21 01:56:45 69

原创 DHUOJ 基础 7 8 9

1、别落下数学知识了,二元一次方程的解都忘了,SOS1、提交了两次,第一次忘记num=0的情况了,写的num>0这个难度设置像是填着玩的,这道题算中,诡异了。

2026-01-20 02:57:23 76

原创 DHUOJ 基础 3 5 6

1、输出的多字符要用“ ”,而不是‘ ’;2、没有看清楚题目,输出结果要保留一位小数,所以从cpp换成了c语言3、精度问题(用float类型导致精度不够而使第三个样例没通过)说明系统所需要的精度更高4、getchar()吸收回车符。

2026-01-20 01:39:28 671

原创 DHUOJ 基础 1 2 4

你的程序需要从标准输入设备(通常为键盘)中读入两个整数:一个整数a(0 ≤a < 10000),代表长方形的长;你的程序需要向标准输出文件(通常为启动该程序的终端)输出对应的答案。在行首和行尾不要输出多余的空格。对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)输出对应的答案,其中仅有一个整数,即题目描述中的数列之和。面积的公式为S = a × b,周长的公式P=2*(a+b),其中a代表长方形的长,b代表长方形的宽。输出该年该月的天数,输出时,行首与行尾均无空格,仅输出一个整数。

2026-01-19 18:46:43 362

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除