自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帅帅的博客

这是一个神奇的地方

  • 博客(204)
  • 收藏
  • 关注

原创 贪心算法初识——对今年暑假不AC问题的两种理解

目前的贪心算法,我接触的有两种。一今年暑假不Ac为例,我看到了两种算法。题目:点击打开链接首先,两种都是基于快速排列的:     按照节目时间结束的时间来从小到大来进行   排序的,如果结束的时间相等,那么就按照开始的   时间从大到小来排序。   因为结束的时间最早嘛,所消耗的时间也一定很少。        然后就进行排序,判断后一个的节目开始时,前一个节

2017-11-12 14:57:12 542

转载 一道恶心的题目,必须严格按照要求

题目大意:  给定一个字符串,如果这个字符串是一个整数,并且这个整数在[a,b]的范围之内(包括a,b),那就输出YES,其它的都是NO。这个字符串是整数的条件:1、如果它是正整数,它只包含前导不是0的数(这个数前面没有零)。2、如果它是负整数,只包含一个'-'符号,任然没有前导0。3、除此之外都不是非法的解题思路:http://bestcoder.hdu.edu.cn

2017-11-11 16:05:55 337

原创 高精度的问题

做高精度的题时,一定要注意一些细节额心态超容易蹦的。这里有一道加法的高精度。#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 402

原创 链表的初识

链表就是由两块部分组成的,一是数据,二是指针。太难了明天再战。一礼拜过后,好的我回来啦,经过大量的视频轰炸我好像看懂了什么。。。。。#include #include typedef struct n{ int save; struct n *next;}Node;int main(){ Node *head = NULL; // 指

2017-11-10 19:02:49 180

原创 矩阵的快速幂

#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 132

原创 时间复杂度,优化

我们计算时间复杂度时,往往加减的时间很短,而乘除的时间很长。所以我们忽略加法,着重的计算乘除法的次数。

2017-11-10 09:38:07 848

原创 分治法的小感悟

#includeint max(int a,int b){ if (a > b)return a; else return b;}int sumMax(int *a,int left,int right)//分治法的核心思想这里全都有。{ if (left+1 >= right)return max(a[left],a[right]); //1.第一步进行判断

2017-11-10 09:03:09 432

转载 RPG问题的妙解

/*Description人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的

2017-11-09 18:44:50 390

原创 递推的专题竞赛

递推的推导错排公式编辑当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个

2017-11-08 21:19:05 190

原创 函数时间计算——函数作为另一个函数的参数使用

关于时间的具体计算可以看相关联的链接 。double timecheck(int n,double x,double(*f)(int ,double )){ clock_t start,stop; int i;//这个只是为了增加时间防止因为时间过短而使的最后时间显示不出来 double duration; start = clock(); for(i

2017-11-08 10:57:59 176

原创 数据结构初识—— f(x)多项式的算法优化

//在一个给定的x求值double f(int n,double a[],double x){ int i; double p = a[0];//擦,这个算法也很牛逼了 //就是按照题目的意思,把多项式依次相加。 for (i = 1;i <= n;i ++) p += (a[i] * pow(x,i)); return p;}dou

2017-11-08 10:45:52 1740

原创 快速排列在c++中的使用

#include#include#includeusing namespace std;struct date{ int x; int y; int z;}three[50005];bool cmp(date a,date b){ if(a.x == b.x){ if(a.y == b.y)return a.z<b.z;

2017-11-07 15:15:09 184

原创 快速幂的使用,干掉了一道

#includeint fastMod(int x,long n,int m){ int r = 1; while(n != 0 ){ if (n % 2 != 0)r = x*r%m; x = x*x%m; n /= 2; } return r;}int main(){ long n; int

2017-11-06 16:58:36 211

转载 快速幂的认识

其中要理解base*=base这一步,看:::base*base==base^2,下一步再乘,就是base^2*base^2==base^4,然后同理  base^4*base4=base^8,,,,,see?是不是做到了base-->base^2-->base^4-->base^8-->base^16-->base^32.......指数正是 2^i 啊,再看上  面的例子,a¹¹= a^(

2017-11-06 15:37:06 134

原创 位运算的认识

位运算的例子#includeint main(int argc,char const *argv[]){ int number; scanf("%d",&number); unsigned mask = 1u<<31; for (;mask ; mask >>= 1){ printf("%d",number & mask?1:0);

2017-11-06 14:52:41 241

原创 又增一战徒增烦恼

#include#includeint main(){ char str1[1010]; char str2[1010]; char str3[1020]; str3[0]=='0'; int t,i,a; int counter = 0; scanf("%d",&t); for (i = 0;i < t;i ++){

2017-11-05 20:52:04 155

原创 1143单词数——中级

#includeint main(){ char c; while(1){ char b = ' '; int flag = 0; int counter = 1; scanf("%c",&c); if (c == '#')break; while(c !='\n'){ if (c==' '&&b!=' '){

2017-11-05 18:42:27 177

原创 宏的含参定义,和宏的高级使用

宏的含参代换一定要考虑运算的顺序。宏的注意事项,最好不要加上分号;

2017-11-05 14:24:23 210

原创 返回指针的函数特性,和malloc的初识,全局变量的提示

2017-11-05 11:20:01 235

原创 联合体的使用

看起来与结构体非常的像,但是它的只能使用其中一个数据。联合体中的数据都储存在同一个地方,用不同的变量名去访问他得到的数据也不一样。这是最常用的形式。里面的数据可以看成是 I 也可以看成一个char 的数组。但不同的是里面的数据是16进制倒着排序的具体的例子在下面本来输入的是4,以为在内存中储存的形式是。。。。但是实际上储存的是

2017-11-05 11:10:12 293

原创 快速幂的数列递推

#include int main(void){ __int64 a,n,ans,m,t,i; scanf("%I64d",&t); for (i=1;i<=t;i++) { //简单的组数 scanf("%I64d",&n); //n是一个数 m=n; //先把m储存起

2017-11-05 10:31:26 268

原创 二阶指针的运用,字符串的交换

牛逼的字符串交换#include&lt;stdio.h&gt;void exchange(char **p1,char **p2){ int *temp; temp = *p1; *p1 = *p2; *p2 = temp;}int main(){ char a[10]; char b[10]; gets(a); get...

2017-11-05 09:57:19 1210

原创 typedef的使用

typedef struct date{ int x; int y; int z;}th;//typedef这个修饰符是指你定义了一个变量名,而没有声明变量th three[50005];这个代码等于struct date{ int x; int y; int z;}three[50005];结构数组

2017-11-03 19:52:35 141

原创 枚举的初识

1. 枚举类型定义的一般形式为:enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如:该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构体(struct)和共用体(union)一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义

2017-11-03 19:11:04 305

原创 快速排列初识

快速排列的思想很牛逼这里应该有非常丰富的解释:点击打开链接//来一个快速排序。#includevoid sort (int *a,int left,int right){ if (left >= right){ //如果左边索引大于等于右边的索引就代表已经整理完成了一个组了 return; } int i = lef

2017-11-01 21:41:43 163

原创 结构经典例题,typedef的指针优化

/*Description现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。编写一个函数input,用来输入一个学生的数据记录。编写一个函数print,打印一个学生的数据记录。在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100Input学生数量N占一行 每个学生的学号、姓名、三科成绩占一行,空格分开。Output每个学生的学号、姓名、三科成绩占一行,逗号

2017-11-01 09:41:40 625

原创 结构体与函数

不成熟的输入,直接传入的只是y的值。并没有把y给传入,函数中的数值与原本的结构没有任何关系。结果但是这样也非常浪费空间和时间。最好的方式就是传指针。但首先得解决的问题是结构传指针过于复杂,所以先化简。p所指的month  -> ==== p所指向那个结构的month我们来看看最终的进化版

2017-10-31 14:53:55 480

原创 结构体

结构体的声明有三种:——————————————————————————————————————————————————————————————————结构体的初始化:第一种 老老实实地说明了每个值第二种 特定地给一些变量赋值———————————————————————————————————————————————————————————————

2017-10-28 09:46:24 244

原创 一些字符串的冷知识点

1.字符串可以用二维数组来运算。

2017-10-27 13:27:21 228

原创 指针与数组和字符串

qQuestion指针初始化是不是指针初始化第一种方法是int* p;p=&i;第二种方法是int* p=&i;均需要加取地址符,如果是 int* p;p=i;就是野指针?还有,是不是只有int*p=NULL时,不用加&? Answer声明了一个指针变量 int *p后,p的址址即告确定,但p的值是随机值,会指到哪里去谁也不知道,所以叫“野指针”。只有对p人

2017-10-24 16:47:21 155

原创 一些笔记小结

EOF是一种循环中用来停止的标志。常用于while中。if如果没加花括号会用最近的语句。调试不成功,别忘了&和;和if中的 = ==注意要减少warningswitch ()括号中只能出现整型;case 后加常量和:(常量包括‘A’)

2017-10-24 14:34:17 199

原创 大约瑟夫

#includeint main(){ int k; scanf("%d",&k);//k来表示好人和坏人分别的人数 int array[15]; int m; int t,f,s,i; for (m = k + 1;;m ++) { t = 0;//老计划 f = 0; s = 0;

2017-10-23 19:37:48 159

原创 斐波那契数的简单运用 (两种递推加上一种递归)

用数组来实现递推的思想/*斐波那契数的简单运用,递归#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 584

原创 关于指针的一些想法

1.取地址和int在不同的计算机位数中效果是不同的。所以要引入指针的概念。//来进行指针的简单推导#includeint main(){ int i = 10; int *p = &i; //在用指针赋值完后用%d时 *p = i ,用%p时&i = p ,用%d是&i = p; printf("%d\n",*p); printf("%d\n",i

2017-10-23 17:35:18 165

原创 递归 (斐波那契数的简单两种应用)

第一种用数组实现递归//斐波那契数的简单运用,递归#includeint main(){ unsigned long long f[20]; f[0] = 1; f[1] = 1; int n; for(n = 2;n { f[n] = f[n-1] + f[n-2]; } for (n = 0;n

2017-10-23 16:19:53 288

原创 约瑟夫,嘿嘿,你被ko了 。还有一点小感悟

#include int main(){ int i,j,b,c; int n,a,t; scanf("%d",&n); int array[n+1]; int barray[n+1]; for (i = 1;i <= n;i ++) array[i] = i; for (j = 1,i = 1;i <= n;i ++)

2017-10-22 16:06:55 191

原创 一些字符串与指针的小问题

scanf的后面如果要加gets,就得先输入 fflush(stdin);清理一下缓存区,因为前面的scanf 会保存回车符号。这会直接跳过gets语句。或者可以用scanf("%d%*c”,)来跳过字符串与数组的区别很大的。数组的最后一位就不会有'\0'先就这样到时候在补充。字符串用*来定义是无法打印其单个的值,也无法来处理单个值的赋值。把字符串放在了一个只能读不能写的地方。如果两个字符串都用*

2017-10-22 09:37:37 226

原创 选择排列函数

#includeint main(){ int basisdate ;//基准数 int array[10]; int i = 0,j = 0; for (i = 0;i < 10;i ++) scanf("%d",&array[i]); basisdate = array[0]; int counter = 0; int

2017-10-21 23:30:40 328

原创 逆向思考素数问题。

//我现在要把刚刚看到的新型素数计算表来干一下#include#define MAXi_NUM 100int main(){ int prime[MAXi_NUM+1]; int i,j; for(i = 0;i <= MAXi_NUM;i ++) prime[i] = 1; //在遍历完所以数据后,我应当开始我的操作 //1.从2开

2017-10-21 20:22:48 165

原创 我骄傲的字符串连接

//连接两个字符串#includeint main(){ char a[100] = {"123"}; char b[100] = {"123"}; int i,j; for (i = 0;a[i] != '\0';i ++); for (j = 0;b[j] != '\0';j ++) { a[i] = b[j];

2017-10-21 19:47:36 149

空空如也

空空如也

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

TA关注的人

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