- 博客(25)
- 收藏
- 关注
原创 c++郑莉
c++郑莉变量初始化{}列表初始化不允许有数据丢失常量必须初始化int a{1.2};//错int b = {1.2};//错int c(1.2);//对符号常量const float PI = 3.1415926;//code segmentstatic int a;//bss segment内存数据code segment通常情况下,代码段是可共享的,使其可共享的目的是,对于频繁被执行的程序,只需要在内存中有一份副本即可。代码段是只读的,使其只读的原因
2021-07-27 19:20:14
263
原创 c++郑莉
c++郑莉变量初始化{}列表初始化不允许有数据丢失常量必须初始化int a{1.2};//错int b = {1.2};//错int c(1.2);//对符号常量const float PI = 3.1415926;//code segmentstatic int a;//bss segment内存数据code segment通常情况下,代码段是可共享的,使其可共享的目的是,对于频繁被执行的程序,只需要在内存中有一份副本即可。代码段是只读的,使其只读的原因
2021-07-18 11:55:32
191
原创 文件操作
#include<iostream>#include<fstream>#include<string>using namespace std;int main() { int a, b; ifstream fs("1.txt"); ofstream ofs("C:\\Users\\special\\source\\repos\\3N+\\file.txt"); string str; getline(fs, str); ofs << str
2021-03-28 08:06:06
150
原创 面试之动态规划
动态规划主要分为两个核心部分,一是确定「DP 状态」,二是确定「DP 转移方程」。DP 状态DP 状态的确定主要有两大原则:最优子结构无后效性什么是「最优子结构」?将原有问题化分为一个个子问题,即为子结构。而对于每一个子问题,其最优值均由「更小规模的子问题的最优值」推导而来,即为最优子结构。而对于「无后效性」,顾名思义,就是我们只关心子问题的最优值,不关心子问题的最优值是怎么得到的。最后概括一下「最优子结构」就是「DP 状态最优值由更小规模的 DP 状态最优值推出」,此处 DP 状态即为子问
2021-03-24 18:03:37
210
原创 第九章 DFS/BFS
状态空间状态转移起始状态目标状态搜索:起始状态经过一系列的状态转移抵达目标状态搜索树例9.1 POJ 3278 Catch That Cowhttp://poj.org/problem?id=3278DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100
2021-03-23 10:16:56
114
原创 第八章递归与分治/全排列/fill/swap/abs/memset
递归问题相同的子问题递归出口递归函数的形参全排列next_permutation()会取得[first,last)所标示之序列的下一个排列组合,如果没有下一个排列组合,便返回false;否则返回true。prev_permutation()#include <iostream>#include <string>#include <algorithm>using namespace std;int main() { string str;
2021-03-21 15:19:14
99
原创 文件操作
文件操作FILE *fp = fopen("filename.txt","r+");//绝对路径对所有\要加\转义"r" 打开一个用于读取的文本文件 "w" 创建一个用于写入的文本文件"r+" 打开一个用于读/写的文本文件"w+"创建一个用于读/写的文本文件if(nullptr == fp) perror("fopen");fclose(fp);int fputc( int ch, fp);//写一个字符int fgetc( fp );//读一个字符int fread( void *
2021-03-20 23:44:57
79
原创 第十一章-图论
求连通分量数目http://t.cn/AiOvBHj9#include<cstdio>const int maxn = 1000 + 10;int father[maxn];int height[maxn];void Initial(int n){ for(int i = 1;i <= n;++i){ father[i] = i; height[i] = 0; }}int find(int x){ if(x != fa
2021-03-17 22:17:48
100
原创 DP经典问题核心代码
//fibonacciint dp[maxn];int fibonacci(int n){ for(int i = 0;i <= n;++i){ if(i <= 1) dp[i] = i; else dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n];}//最大连续子序列和int dp[maxn];int arr[maxn];void fun(int n){ for(int i
2021-03-13 22:05:13
171
原创 第十二章-dp
递归+记忆化将O(2^n) ====> O(n)int memo[maxn];int fabonacci(int n){ if(memo[n]!= -1) return memo[n]; int answer; if(n == 0 || n == 1) answer = n; else answer = fabonacci(n - 1) + fabonacci(n - 2); memo[n] = answer; return answer;}
2021-03-08 08:42:27
155
原创 第七章-贪心
Senior’s GunProblem DescriptionXuejiejie is a beautiful and charming sharpshooter.She often carries n guns, and every gun has an attack power a[i].One day, Xuejiejie goes outside and comes across m monsters, and every monster has a defensive power b[j]
2021-03-05 15:11:49
324
原创 第六章数学问题
进制转换for (int i = 0; i < str.size(); ++i) { //从m进制变成十进制 number *= m; number += CharToInt(str[i]);}while (number != 0) { //从十进制变成n进制 answer.push_back(IntToChar(number % n)); number /= n;}最大公约数int gcd(
2021-03-04 10:03:02
240
1
原创 2020复旦机试
A、斗牛题目描述:给定五个 0~9 范围内的整数 a1, a2, a3, a4, a5。如果能从五个整数中选出三个并且这三个整数的和为10 的倍数(包括 0),那么这五个整数的权值即为剩下两个没被选出来的整数的和对 10 取余的结果,显然如果有多个三元组满⾜和是 10 的倍数,剩下两个数之和对 10 取余的结果都是相同的;如果选不出这样三个整数,则这五个整数的权值为 -1。现在给定 T 组数据,每组数据包含五个 0~9 范围内的整数,分别求这 T 组数据中五个整数的权值。【输入格式】 第一行一个整数
2021-03-03 14:19:16
392
原创 第五章 vector queue stack/pair
vector#include<vector>using namespace std;int myArray[] = {1,2,3,4,5};vector<int> myVector;//空向量//拷贝 首地址+尾地址vector<int> myVector2(myArray,myArray + 5);//1,2,3,4,5vector<int> myVector5(myVector4.begin(),myVector4.end());//1
2021-03-03 11:00:49
97
原创 第二章-天数问题/
天数问题核心代码while (y1 < y2 || m1 < m2 || d1 < d2) { d1++; num++; if (d1 == month[m1][isLeapYear(y1)] + 1) { m1++; d1 = 1; } if (m1 == 13) { y1++; m1 = 1;
2021-03-01 09:43:27
284
原创 第四章-string/KMP/浮点数加法/stringstream
string构造#include<string>using namespace std;//六种构造方式string s0 = "Initial String";string s1;//空串string s2(s0);string s3(s0,8,3);//下标从零开始 Strstring s4("A character sequence");//使用构造函数初始化,效果跟1差不多,方式不同string s5("Another character sequence",12);
2021-02-28 19:51:14
170
原创 第三章-归并排序求逆序数/lower_bound/unordered_map/map<char,vector<int>>
int Reverse(int number) { //求反序数 int reverseNumber = 0; while (number != 0) { reverseNumber *= 10; reverseNumber += number % 10; number /= 10; } return reverseNumber;}叠匡/** 题目名称:叠筐* 题目来源:HDU 2074* 题目链接:ht
2021-02-28 12:13:47
382
原创 问题 A: a+b
问题 A: a+b[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述实现一个加法器,使其能够输出a+b的值。输入输入包括两个数a和b,其中a和b的位数不超过1000位。输出可能有多组测试数据,对于每组数据,输出a+b的值。样例输入 Copy6 82000000000 30000000000000000000样例输出 Copy1430000000002000000000#include<cstdio>#include<
2021-02-27 23:13:02
169
原创 问题 E: 完数与盈数
问题 E: 完数与盈数[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。求出2 到60 之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 …(ei 为完数) G: g1 g2 g3 …(gi 为盈数)输入无输出按描述要求输出(注意EG后面的冒号之后有一个空格)。#include<cstdio&
2021-02-27 21:45:25
128
原创 问题 D: 约数的个数
问题 D: 约数的个数[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述输入n个整数,依次输出每个数的约数的个数。输入输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。输出可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。样例输入 Copy61 4 6 8 10 120样例输出
2021-02-27 21:13:08
179
原创 问题 C: 质因数的个数
问题 C: 质因数的个数[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=22235,共有5个质因数。输入可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出对于每组数据,输出N的质因数的个数。样例输入 Copy120200样例输出 Copy55提示注意1不是N的质因数;若N为质数,N是N的质因数。#include
2021-02-27 20:12:40
133
原创 问题 A: 完数
问题 A: 完数题目描述求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。输入测试数据有多组,输入n,n数据范围不大。输出对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。样例输入 Copy6样例输出 Copy6#include<cstdio>#include<cmath>bool is_perfe
2021-02-27 18:59:19
158
原创 问题 A: Least Common Multiple
问题 A: Least Common Multiple** 题目描述**The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.输入Input will consist of mult
2021-02-27 10:49:00
230
原创 100000583 - 《算法笔记》4.3小节——算法初步->递归->问题 D: 八皇后
题目描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。输入第1行是测试数据的组数n,后面跟
2021-02-09 18:45:05
136
原创 100000583 - 《算法笔记》4.3小节——算法初步->递归->问题 C: 神奇的口袋
标题问题 C: 神奇的口袋题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,
2021-02-09 15:25:09
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅