![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
初题,扫扫
文章平均质量分 72
Hormous的一天
这个作者很懒,什么都没留下…
展开
-
斐波那契数的简单运用 (两种递推加上一种递归)
用数组来实现递推的思想/*斐波那契数的简单运用,递归#includeint main(){ unsigned long long f[20]; f[0] = 1; f[1] = 1; int n; for(n = 2;n < 20;n ++) { f[n] = f[n-1] + f[n-2]; } for (原创 2017-10-23 17:37:08 · 570 阅读 · 0 评论 -
打破循环条件不可变
#include #include #include using namespace std;int a[1000005],b[1000005];int main(){ int n; scanf("%d",&n); for (int i = n;i > 0;i --) scanf("%d",&a[i]); // -1表示死亡,0活着原创 2017-12-08 14:14:57 · 198 阅读 · 0 评论 -
一道尺取法 (连续最值)
#include <iostream>#include <algorithm>using namespace std;int main(){ int a[365];//now first build an array int n; cin >> n; for (int i = 1;i <= n;i ++) cin >&...原创 2017-12-04 21:15:08 · 285 阅读 · 0 评论 -
分块函数学习 I hate it + 优化
#include <cstdio>#include <cmath>#include <algorithm>#include <iostream>#include <cstring>using namespace std;int a[200005],belong[200005],L[200005],R[200005],ans[2...原创 2017-12-04 21:18:17 · 294 阅读 · 0 评论 -
二分优化的暴力枚举
#includeint a[100005];int main(void){ int n,m,r,l; int sum; int teams; int max,min; int i,j; int mid; scanf("%d%d",&n,&m); //输入n个物品和m个人 for(i = 1;i <= n;i ++){ //输入n个物品各自的重原创 2017-12-09 09:49:09 · 297 阅读 · 0 评论 -
高精度等于,贼恶心
/*#include #include #include #include using namespace std;char str1[2000],str2[2000],str1_s[2000],str2_s[2000],str1_e[2000],str2_e[2000];bool equel(char *a,char *b){ return (strcmp(a,b));}i原创 2017-12-01 11:18:18 · 153 阅读 · 0 评论 -
递推+大数相加
第二种用数组实现大数加法,简洁:#include #include using namespace std;char table[1001][1000] = {0};void BigNumAdd(){ table[1][0] = 1; table[2][0] = 2; table[3][0] = 4; table[4][0] = 7; for(int i = 5;原创 2017-12-30 13:24:43 · 171 阅读 · 0 评论 -
结构经典例题,typedef的指针优化
/*Description现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。编写一个函数input,用来输入一个学生的数据记录。编写一个函数print,打印一个学生的数据记录。在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100Input学生数量N占一行 每个学生的学号、姓名、三科成绩占一行,空格分开。Output每个学生的学号、姓名、三科成绩占一行,逗号原创 2017-11-01 09:41:40 · 621 阅读 · 0 评论 -
经典约瑟夫 + 类似约瑟夫
题目的链接:点击打开链接习题8.5——初级Time Limit: 1000MS Memory Limit: 131072KTotal Submissions: 2934 Accepted: 1604Description有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退原创 2017-12-27 16:23:16 · 297 阅读 · 0 评论 -
把链表转入成一个函数
第一次的尝试,暴力下移,直接提出来构造一个函数。有一个问题。这个函数中我们要修改head,但是原函数是不修改的可以按照算法书上的方案来进行,定义一个全局变量。但是全局变量是有害的,这个只能起一次作用,如果这个程序中有n多个链表呢这次的修改,不同,返回了head,有了一定的优化。缺点是程序员得非常认真的使用这个函数。如果忘了,程序就错误了。第三种方案这里传入一个指原创 2017-11-13 20:53:04 · 235 阅读 · 0 评论 -
错排。中的阶乘要注意不能超过20,不然longlong也救不了
#includeint main(){ int n,i; long long a[15]; a[1]=0; a[2]=1; for (i = 3;i < 15;i ++) a[i] = (i-1)*(a[i-1]+a[i-2]); scanf("%d",&n); while (n){ int m = n;原创 2017-11-12 21:09:54 · 924 阅读 · 0 评论 -
贪心算法初识——对今年暑假不AC问题的两种理解
目前的贪心算法,我接触的有两种。一今年暑假不Ac为例,我看到了两种算法。题目:点击打开链接首先,两种都是基于快速排列的: 按照节目时间结束的时间来从小到大来进行 排序的,如果结束的时间相等,那么就按照开始的 时间从大到小来排序。 因为结束的时间最早嘛,所消耗的时间也一定很少。 然后就进行排序,判断后一个的节目开始时,前一个节原创 2017-11-12 14:57:12 · 530 阅读 · 0 评论 -
一道恶心的题目,必须严格按照要求
题目大意: 给定一个字符串,如果这个字符串是一个整数,并且这个整数在[a,b]的范围之内(包括a,b),那就输出YES,其它的都是NO。这个字符串是整数的条件:1、如果它是正整数,它只包含前导不是0的数(这个数前面没有零)。2、如果它是负整数,只包含一个'-'符号,任然没有前导0。3、除此之外都不是非法的解题思路:http://bestcoder.hdu.edu.cn转载 2017-11-11 16:05:55 · 335 阅读 · 0 评论 -
矩阵的快速幂
#include//我需要构造一个结构来储存矩阵。typedef struct { long long a[3][3];}matrix;long long fastMod(long long n,long long mod){ matrix t,count; matrix temp,count2; t.a[1][1] = 1; t.a[1][2]原创 2017-11-10 14:05:04 · 129 阅读 · 0 评论 -
RPG问题的妙解
/*Description人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的转载 2017-11-09 18:44:50 · 388 阅读 · 0 评论 -
动态规划 --- 最长子序列问题
#include #include #define MAX_N 501#define MAX_M 501#define max(a,b) ((a)>(b)?(a):(b))int main(){ int n,m; char s[MAX_N],t[MAX_M]; int dp[MAX_M+1][MAX_N+1]; while (1){ sc原创 2017-11-20 19:15:49 · 241 阅读 · 0 评论 -
扩展欧几里得的 ——要求第一个数为正
#include using namespace std;typedef long long LL;LL e_gcd(LL a,LL b,LL &x,LL &y){ if(b==0) { x=1; y=0; return a; } LL ans=e_gcd(b,a%b,x,y); LL temp=x;原创 2017-12-10 18:01:07 · 171 阅读 · 0 评论 -
高精度的问题
做高精度的题时,一定要注意一些细节额心态超容易蹦的。这里有一道加法的高精度。#include#include#includebool carryBit (char a,char b,char c){ if (a+b+c>153)return true; return false;}int main(){ int t; int count =原创 2017-11-11 10:32:36 · 398 阅读 · 0 评论 -
map与set的简单综合应用,统计单词词频
#include #include #include #include #include using namespace std; struct words{ string a; int numbers = 0; }; int main() { map mp; multimap mmp; char b[20];原创 2017-11-28 16:25:06 · 500 阅读 · 0 评论 -
multimap的简单使用 一道数据输入,查询的问题
cmd是用来接受命令的然后需要把st中的元素插入mp中,虽然它们是可以对应起来的,但是毕竟类型是不同的所以不能直接把st给插进去那我们能够插入的是什么呢。我们需要make a pair 就是make_pair这样的函数 mp.insert(make_pair(st.score,st.info));生成这个函数的时候,我们需要给他赋两个值如果要查询的原创 2017-11-24 19:12:10 · 280 阅读 · 0 评论 -
N 皇后问题 —— 递归求解
#include #include using namespace std;int N;int queenPos[100];//用来储存皇后的位置,最左上角是(0,0)void NQueen(int k);int main(){ cin >> N; NQueen(0); //从第0行开始摆皇后 return 0;}// 让我自己实现一下void N原创 2017-12-15 16:17:45 · 288 阅读 · 0 评论 -
母函数的学习
大神的链接经典无限模板#include#includeusing namespace std;#define M 1000int a[M],b[M];//a[M]中存最终项系数;b[M]中存取中间变量;int main(){ int m,n; int i,j,k; cout<<"请输入最初有几项表达式相乘: "<<endl; while (1原创 2017-12-22 21:32:11 · 151 阅读 · 0 评论 -
找单词——记录次数的动归,或者母函数
题目:点击打开链接#include #include #include #include using namespace std;int c1[60],c2[60];int a[30],b[30];int main(){ int n; scanf("%d",&n); while(n--) { for(int i = 1; i <= 26; i原创 2017-12-24 21:23:11 · 138 阅读 · 0 评论 -
母函数的初识——本拉登 hdu 1085
母函数——本拉登#include #include #include using namespace std;int num[10] ;int c1[100000] , c2[100000] ;int main(){ int i,j,k; while(cin >> num[1] >> num[2] >> num[5] && num[1] || num[2] || num[原创 2017-12-22 20:54:13 · 256 阅读 · 0 评论 -
一道暴力,用数学方法优化
The sum problem相关的整理讲解1讲解2#include #include #include #include using namespace std;int main(void){ //cout<<fixed<<setprecision(2); int N,m; while(cin>>N>>m && N||m) { for(int n=sqr原创 2017-12-20 10:30:31 · 166 阅读 · 0 评论 -
多重背包有个疑惑点
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 32929 Accepted Submission(s): 13826Problem Description原创 2017-12-18 20:49:32 · 169 阅读 · 0 评论 -
选课时间——深搜
又是一道完全不一样的深搜题目,绝望ing++http://acm.zjnu.edu.cn/CLanguage/showproblem?problem_id=1150http://acm.hdu.edu.cn/showproblem.php?pid=2079#include #include #include using namespace std;int score[10]原创 2017-12-15 20:29:25 · 458 阅读 · 0 评论 -
逆波兰表达式 —— 递归专题
#include #include #include using namespace std;double exp(){ //读入一个逆波兰表达式,并计算结果 char s[20]; cin >> s; switch (s[0]){ case '+': return exp()+exp(); case '-': return原创 2017-12-15 16:31:40 · 305 阅读 · 0 评论 -
一种的多重背包背包——Coin Change
http://acm.zjnu.edu.cn/CLanguage/showproblem?problem_id=1140我的暴力算法这是利用深搜的#include int sum,counter;const int a[5] = {1,5,10,25,50};void dfs(int recoder,int sum,int number){ if (number原创 2017-12-13 22:50:46 · 230 阅读 · 0 评论 -
大数计算优化
// 进行大数的相加#include #include #define LEN 101// 将火星由字符型转换为整型,并且放在数组的尾部void convert (char s[],int intS[]){ int i; int m;// 放在字符串中的位置 for (i = 0;i < strlen(s);i ++){ m = strl原创 2017-12-11 18:55:28 · 410 阅读 · 0 评论 -
枚举——三种解
第一种因为只有16种,可以快速枚举 用16个if第二种利用位运算 的 特殊来枚举#include using namespace std;int main(){ int a[6]; int n; cin >> n; while (n --){ for (int i = 1;i <= 5;i ++) cin原创 2017-12-10 19:00:10 · 281 阅读 · 0 评论 -
埃氏筛法 —— 对素数的使用
#include #include #include using namespace std;int a[1000005];int main(){ a[1] = 1; a[2] = 0; for (int i = 2;i <= 1000000;i ++){ if (a[i] == 0) for (int j = 2;j * i <= 1000000;j ++){ a原创 2017-12-10 18:03:47 · 193 阅读 · 0 评论 -
快速分解质因子
#include #include using namespace std;int main(){ int n ; while (cin >> n){ for (int i = 2;i*i <= n;i ++){ if (n % i == 0){ while (n % i == 0) n /= i; cout << i << " "; }原创 2017-12-10 18:02:27 · 614 阅读 · 0 评论 -
我的背包 ,啊啊
#include//这是最基础的动态规划 让我在来领略一下这个思想。#define max(a,b) (a)>(b)?(a):(b)int main(){ int value[30]; int weight[30]; int dp[30][30];// 前半边的代表个数,后半边代表了重量,而整体代表了价值 memset (dp,0,sizeof(d原创 2017-11-17 15:09:22 · 135 阅读 · 0 评论