随笔
阿十六
要去追随心
展开
-
最长子矩阵和 删除最少的元素 回文串 最长公共上升子序列之dp复习
从前向后遍历一遍非上升子序列,再从后向前遍历一遍,dp1+dp2最大的再-1就是已经排好序的数量,用全部的数量减去这个就好了。reverse一下,再查最长公共子序列,得出来的长度就是已经回文的部分。注意dp的状态代表的意义,参考。原创 2023-01-18 20:07:35 · 116 阅读 · 0 评论 -
最大子数组和 最长递增子序列 最长公共子序列 编辑距离之复习dp
一开始给dp的初始化很有意思,dp[i][j]的意思是第一个字符串的第i号第二个字符串的第j号,所以dp[i][0]要实现两个字符串相等就要进行i步插入。所以dp[i][j] = dp[i-1][j] +1,即继续判断第i-1和第j项。递归每个数之前的数,看前面比它小的数i的dp[i] + 1 哪个更大。哥们记得当初刷dp题都做过,但哥们都忘了怎么做的了,来写个备忘录。所以dp[i][j] = dp[i-1][j-1] +1。所以dp[i][j] = dp[i][j-1] +1。先初始化每个dp都为一。原创 2023-01-17 22:58:33 · 620 阅读 · 0 评论 -
malloc calloc realloc new的动态内存分配
malloc ,calloc,realloc动态分配内存在堆里,不占用栈的内存,目前看来是更优先的。原创 2022-11-06 17:11:44 · 69 阅读 · 0 评论 -
c语言学习中对指针的理解
(b + 1)等于把b这个指针移动了一个单位长度,这个单位长度是指向二维数组的长度,也就是说,从b[0]的层面上到了b[1],将跳跃3个int长度,因为每个二维数组 ,中含了三个一维数组,移动了一个单位长度后解引用,就找到了b[1],因为,b本身就是一个指向一维数组的指针,解引用后就变成指向了整型变量的指针,即,b[1]是一个指向整型变量的指针,指向了b[1][0]的地址。a[2] = *(a+2),a代表了指向a[0]地址的一个指针,解引用(a+2)相当于把a[0]的地址向后移动了两个单位长度。原创 2022-11-03 20:21:09 · 101 阅读 · 0 评论 -
C++实现归并排序
C++实现归并排序原创 2022-10-27 20:26:52 · 1777 阅读 · 0 评论 -
C++实现堆排序
具体的都在代码的注释里,主要是理解递归的思想,还有堆维护,建堆,排序的思路。具体参考上个文章里那位up的视频。原创 2022-10-27 15:36:49 · 336 阅读 · 0 评论 -
c++实现快速排序
他的图解思路没问题,大概是我才疏学浅,我认为我写的会更好一点,对于我来说,本算法的关键就是掌握好长度与下标的关系,和如何处理好i和j的关系,即如何去把最后那个数放在正确的位置。关于具体的ij问题,可以参考这位up的视频。原创 2022-10-25 23:37:56 · 319 阅读 · 0 评论 -
判断一年放了多少天假
日历有阳历(公历)和阴历(农历)之分。每年.都有法定节假日,这些分成三类一双休、 阳历节假日、阴历节假日.1.双休3.阴历节假日1)春节:阴历每年1月1日,放假3天2)清明节:阳历每年4月4-6日之间的某天,放假1天3)端午节:阴历每年5月5日,放假1天4)中秋节:阴历每年8月15日,放假1天当节假日和双休重合时,双休不延后也不提前,保证节假日之间不会重合。现在给你某年的所有阴历节假日的阳历日期,以及当年的1月1日是星。原创 2022-10-25 20:56:15 · 315 阅读 · 0 评论 -
判断n天后为几月几日
记住最后的格式,怎么空余位数用0代替。输入 2016 10 1 100。输出 2017-01-09。原创 2022-10-24 23:46:02 · 45 阅读 · 0 评论 -
(蓝桥杯)c/c++判断数组中是否含有另一个数组,蔡基姆拉尔森公式,判断星期几
这两个操作,一个是用时间取余7,就是要过了一年/一月的1号是周几,第二个就是把num变成周几,防止加上上一个周几后大于7。注意,每年的1,2月份要当做上一年的13,14月份来算,且均为整除。如果是按照正常的算法来计算周几,取1年1月1日为周一。设星期为w,年份为y,月份为m,日期为d。判断数组中是否含有另一个数组。输入asd asdas d。主要就是要注意如何挨着判断。1.年份非整且能被4整除。2.年份能被400整除。原创 2022-10-24 20:28:41 · 1032 阅读 · 0 评论 -
(蓝桥杯)c/c++中字符串操作方法及练习
c++里也有length,不过for里尽量不用length,直接int l = str1.length。c++中,字符串结尾必须是’\0’,才能以%s的格式输出,否则还是字符数组,只能以%c的格式输出。将a中的元素复制到a中,然后中间留出一个位置给’A’+1。这里是用strlen(a)来找的,老师牛的。否则会每次读取length,有损效率。横着看将两个元素看成一组,就有4组+1。竖着看将两行看成一组,就有3组+1。有1位大小可以比较就直接完成比较。c++中对字符串的函数。按照这个规律写就好了。原创 2022-10-23 22:34:12 · 542 阅读 · 0 评论 -
(蓝桥杯)字母/数字三角形的实现
输出类似 A ABAABCBA的三角形原创 2022-10-21 09:22:04 · 123 阅读 · 0 评论 -
c/java实现希尔排序
c/java实现希尔排序总的来说就是以inc为增量,我认为这里用int有一个非常巧妙的点,就是任何整数除2最后都会变成1,巧妙的运用了int这个只保存整数部分的特性。第一层for是以n/2/2…为增量,逐渐缩小,直到最后增量为1,这时候数组已经部分有序了,只需要再借增量为1来进行一次插入排序就好了。第二层for是从第inc项开始判断,inc和j-inc为一组判断大小,之后判断下一组,简单来说就是把一个增量中的组全部判断完。这种逐渐减少逆序对的方法确实比单纯的插入排序效率要高。原创 2022-10-19 23:22:43 · 79 阅读 · 0 评论 -
C语言实现冒泡排序
C语言实现冒泡排序原创 2022-10-03 23:19:28 · 155 阅读 · 0 评论 -
C语言选择排序实现+理解
C语言实现选择排序原创 2022-10-03 00:00:14 · 306 阅读 · 1 评论 -
C语言插入排序简单实现+理解
C语言实现插入排序及个人理解原创 2022-10-02 14:22:12 · 355 阅读 · 0 评论 -
07:有趣的跳跃
07:有趣的跳跃#include <iostream>#include <cmath>#include <algorithm>using namespace std;int main(){ int n,ca=0; cin >> n; long num[n];int num2[n-1]; for(int i=0...原创 2019-08-06 22:26:37 · 1242 阅读 · 0 评论 -
做第十题又把心态做崩了
去百度提问了,实在不好意思麻烦csdn的大佬了。。。真的太热情了明天再整不出来我就要开始我的读代码之旅了其实我又看了几道别的题,发现,我都没有头绪我可真是个弱鸡...原创 2019-08-10 22:43:15 · 114 阅读 · 0 评论 -
emmmm,一些想说最后的话
昨天台风来了,停了一天的电那个,第十题是吧。。。。最终是做出来了,按照我的思路也是没有问题。。。不过,题目的思路好像跟我不一样,也就是说,我的思路一开始就错了,做了四天的题竟然一开始就是错的。。。虽然说还有5分我以为是我哪里出错了,去找了找网上的,下面是个例子1234567890009876543211111111111234567890987654321234567890987654321...原创 2019-08-12 22:27:01 · 146 阅读 · 0 评论 -
04:数组逆序重放 05:年龄与疾病
04:数组逆序重放#include <iostream>using namespace std;int main(){ int n; cin >> n; int num[n]; for(int i=0;i<n;i++){ cin >> num[i]; } for(int i=n-1;i&...原创 2019-08-04 22:14:57 · 535 阅读 · 0 评论 -
17:判断闰年
内容如题List item描述判断某年是否是闰年。输入输入只有一行,包含一个整数a(0 < a < 3000)输出一行,如果公元a年是闰年输出Y,否则输出N注意公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年, 能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。代码...原创 2019-07-17 21:29:24 · 1296 阅读 · 0 评论 -
写了一晚上第十题
写了一晚上的第十题,还没写完,我太难了,撑不住了原创 2019-08-08 23:00:45 · 137 阅读 · 0 评论 -
42:画矩形 43:质因数分解
42:画矩形#include <iostream>#include <cmath>using namespace std;int main(){ int h,w,k;char a; //k表示是否空心 cin >> h>>w>>a>>k; for(int i=0;i<w;i++){ //打...原创 2019-08-01 21:33:53 · 929 阅读 · 0 评论 -
04:求整数的和与均值 05:最高的分数 06:整数序列的元素最大跨度值 07:奥运奖牌计数
*04:求整数的和与均值这题,我做了一个多小时,心态都崩了原因仅仅是因为输出的时候第一个result没有强制转型但有什么区别嘛?题目不是说只会输入整数?虽然是double类型但因为输入的都是整数不就默认是int嘛????#include <iostream>#include <iomanip>using namespace std;int main(){ ...原创 2019-07-21 17:23:15 · 390 阅读 · 0 评论 -
21:苹果和虫子2 01:求平均年龄 02:财务管理 03:均值
21:苹果和虫子2#include <iostream>using namespace std;int main(){ int n,x,y; cin >> n >> x >>y; int a=y/x; if(y%x!=0){ a++; if(n-a>=0) ...原创 2019-07-20 21:40:24 · 304 阅读 · 0 评论 -
31:开关灯 32:求分数序列和 33:计算分数加减表达式的值 34:求阶乘的和
31:开关灯恶心的题#include <iostream>using namespace std; int main(){ int N,M; //,灯的数量和人数 cin >>N>>M; int li[N]; //创造N个灯 for(int i=0;i<N;i++){ //遍历一...原创 2019-07-29 21:44:26 · 1003 阅读 · 0 评论 -
16:买房子 17:菲波那契数列 18:鸡尾酒疗法 19:救援
16:买房子昨天的代码改了下,有兴趣的去上一个博客康康。。。都是很弱智的错误#include <iostream>#include <cstdlib>using namespace std;int main(){ int N,K; cin >> N >> K; double myMoe=0; double m...原创 2019-07-24 22:05:12 · 790 阅读 · 0 评论 -
18:点和正方形的关系19:简单计算器20:求一元二次方程的根
18:点和正方形的关系#include <iostream>using namespace std;int main(){ int a,b; cin >> a >> b; -1<=a&&a<=1&&-1<=b&&b<=1 ? cout << "ye...原创 2019-07-19 21:31:04 · 233 阅读 · 1 评论 -
14:人口增长问题 15:银行利息
**14:人口增长问题**#include <iostream>#include <iomanip>using namespace std;int main(){ int x,n; cin >> x >>n; double num = x; for(int i=0;i<n;i++){ ...原创 2019-07-23 22:05:11 · 284 阅读 · 0 评论 -
a++和++a在程序中的顺序
内容如标题看到有这样一个题然后就想去百度上查查答案,都是没有解答出我的问题,于是自己敲了一段代码,代码如下: int a =3; int b =5; int c =a++ - ++b; cout << c <<endl; cout << a << setw(2) << b <<endl...原创 2019-07-16 20:16:24 · 473 阅读 · 0 评论 -
10:有一门课不及格的学生
给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。输入:一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。若该生恰好有一门课不及格,输出1;否则输出0。#include using namespace std;int main(){int a,b;cin >> a >> b;if((a<60&&...原创 2019-07-15 21:37:19 · 815 阅读 · 0 评论 -
45:金币
45:金币#include <iostream>using namespace std;int main(){ int d,d1=2,moe=1,mymoe=0; cin >> d; for(int i=1;i<d;i++){ if(d1%moe==0){d1=0;moe++;} //跳过第一天 mymoe...原创 2019-08-02 21:12:58 · 665 阅读 · 0 评论 -
08:多边形内角和 10:满足条件的数累加 11:整数的个数
08:多边形内角和 #include <iostream> using namespace std; int main(){ int n; cin >> n; int degree =(n-2)*180; int degree2[n]; for(int i=0;i<n-1...原创 2019-07-21 20:47:24 · 219 阅读 · 0 评论 -
06:校门外的树
这是我的第六题。。。。没过,显示Runtime Error我当然知道别人不是我这样写的,我又想不出来别的思路,只能想出来这种,最后,它还是没过。。。我只能去看别人的了。。。。下面的别抄,这是错误示范#include <iostream>using namespace std; void sort_arr(int *num,int len);int main(){ ...原创 2019-08-05 22:01:01 · 448 阅读 · 0 评论 -
27:级数求和 28:分离整数的各个数位 29:数字反转 30:含k个3的数
27:级数求和#include <iostream>using namespace std;int main(){ int k,n=1; double re=0; cin >> k; while(true){ re +=(double)1/n; if(re>k) break; n++...原创 2019-07-27 21:18:22 · 691 阅读 · 0 评论 -
23:药房管理 24:正常血压 26:统计满足条件的4位数个数
23:药房管理#include <iostream>using namespace std;int main(){ int m,n,num,refuse=0; cin >> m >>n; for(int i=0;i<n;i++){ cin >> num; if(num<=m) ...原创 2019-07-26 21:20:46 · 455 阅读 · 0 评论 -
40:数1的个数 41:数字统计
40:数1的个数#include <iostream>using namespace std;int main(){ int n,size=0; cin >> n; for(int i=1;i<=n;i++){ int n1=i%10,n2=i/10%10, n3=i/10/10%10,n4=i/10/10...原创 2019-07-31 21:24:11 · 867 阅读 · 0 评论 -
12:与指定数字相同的数的个数 13:乘方计算
12:与指定数字相同的数的个数#include <iostream>using namespace std;int main(){ int N,m; int size=0; cin >> N >> m; int num[N]; for(int i=0;i<N;i++){ cin >>...原创 2019-07-22 20:50:42 · 228 阅读 · 0 评论 -
01:与指定数字相同的数的个数 02:陶陶摘苹果 03:计算书费
01:与指定数字相同的数的个数#include <iostream>using namespace std;int main(){ int n,m,size=0; cin >> n; int num[n]; for(int i=0;i<n;i++){ cin >> num[i]; } c...原创 2019-08-03 21:39:09 · 282 阅读 · 0 评论 -
20:球弹跳高度的计算 21:角谷猜想 22:津津的储蓄计划
20:球弹跳高度的计算把心态做崩了,去看了看别人的看看自己哪里不对。。using namespace std;int main(){ double h; cin >>h; double a=h; double b=h; //保存高度 for(int i=0;i<10;i++){ h = (double)h/2; ...原创 2019-07-25 22:03:18 · 307 阅读 · 0 评论