自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二分答案的思考

今天做完的了洛谷的二分答案的提单,感触颇深,就此写一写。二分答案是什么呢?先思考一个问题,二分究竟它的本质是用来干嘛的?是用来查找的。例如:一个有序数组,若要找到一个数,就去二分,logn次后找到一个数。这就是二分的本质,逐步去筛出答案的位置。这是二分的本质,二分答案便在此基础上建立起来。如果你知道某道题的答案是个唯一确定的整数,而且范围在1~n之间,那么我们可不可以用二分呢?当然可以。那么我们将边界设置为1~n,然后不断缩小...

2021-09-15 17:11:13 68

原创 暴力枚举总结

暴力枚举:是一种列举各种情况,然后判断是否可行的一种做法具体的解法共有三种1、循环枚举类似于模拟,将所有的情况依次罗列出来,然后判断是否可行,并累加得到答案。这种做法是最简单的一种,因此也是最不靠谱的一种做法。因此需要用到剪枝,分治,或者变换枚举对象等。变换枚举对象就是从另一个角度思考解题的方法,例如从枚举位置坐标变为枚举长宽高这样的做法。2、子集枚举就是组合数,一共有n个集合,要从中选取k个集合,那么每个集合无非就是存在两种状态,就是在或者不在,那么用二进制表示就是有一个n位的二进制数,从 .

2021-08-17 14:39:26 413

原创 素数问题总结

素数问题1、欧拉筛void GetPrime(int n)//筛到n{ memset(isPrime, 1, sizeof(isPrime)); //以“每个数都是素数”为初始状态,逐个删去 isPrime[1] = 0;//1不是素数 for(int i = 2; i <= n; i++) { if(isPrime[i])//没筛掉 Prime[++cnt] = i; //i成为下一个素数 for(int j = 1; j <= cnt &&

2021-08-06 12:22:29 166

原创 四大快速排序的总结

两大快速排序的总结1、归并排序(1)将一个数组划分成两个部分void process(int a[],int left,int right){ if (left==right) return ; int mid=(left+right)/2; process(a,left,mid); process(a,mid+1,right); merge(a,left,mid,right);}这个过程是将一个数组反复拆分成多个有序的数组,这样可以便于将多个数组进行组合。(2) 将两个有序数组

2021-08-06 12:21:37 75

原创 高精度总结

高精度自我总结高精度进位:乘法运算无非就是每一位都存储起来,最后一次性进行展平for(int i=1;i<=n;i++){ //展平:将每一个数组位的数都强行变为个位数 c[i+1]=c[i]/10; c[i]%=10;}

2021-08-06 00:05:25 52

原创 常用代码块

常用代码块//快速排序int fast(int* y,int begin,int end){ int temp=y[begin]; int endTemp=end; if(end>begin) { while(begin<end) { while((begin<end)&&(temp<=y[end])) end--; y

2021-07-18 14:38:04 102

原创 hjyltt の 奇葩错误集锦

hjyltt の 奇葩错误集锦1、数组没有开够,因为有模运算,因此不必担心超范围,直接暴力开数组,只要不MLE2、数据没有全部用long long,导致部分数据不正确,这个是真把我人整麻了

2021-07-09 10:33:30 74

原创 7.3 CF.Round 729

7.3 CF.Round 729A.就是一个简单的奇偶判别,只要破题就很简单B.hint:1: What kind of element in the set is important?2: If ???? is in the set, but ????−???? is not, ???? is important. Why?3: How can we find all important elements?如果n在集合中,那么n=ak+b(i1 *ak-1+ i2 *ak-2+…+ik )

2021-07-05 21:28:42 73

原创 P1219 八皇后问题 2021.6.26

八皇后问题是一个经典的DFS问题其思路:每一行作为一层,每一层从第一个位置开始寻找,若能找到满足条件的位置,记录下当前位置,然后(1)若当前行为最后一行,则将已经找到的所有位置输出(2)若当前行不为最后一行,则dfs进入下一层若当前层寻找完了(不管有没有找到合适的点),则return返回上一层。我在处理题目时时遇到的一个问题就是,如何高效的处理不满足条件的位置。也就是说,在遍历当前层时,我需要知道这个位置合适与否。而判断这个位置合适与否,是与上面的每个层都有关,但倘若每到一个点都将上面层的位

2021-06-26 21:22:27 54

原创 P1596 Lake Counting 2021.6.25

P1596 Lake Counting 2021.6.25这个问题是一个经典的深度优先搜索,利用深度优先的一个特点就是一次深度优先可以遍历到所有与之有关联的点。那么只需要记录深度优先的次数,就知道连通分量是多少,也就是有多少个湖。在本次代码的实现中存在的问题:字符类型的输入前面要加一个空格注意这不是一个正方形,关于y的范围不能与x相同注意每到一个点说明该点已经被访问过了,在每次dfs之前都应该将访问记录写下来。#include <stdlib.h>#include <st

2021-06-25 21:54:35 61

空空如也

空空如也

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

TA关注的人

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