自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 csdn文本编辑器用法小结

xxx代码实现[xxx](#jump1) //jump1:点击标签<span id="jump1"> xxx </span> // 跳转标签 xxx

2021-12-13 19:08:10 274

原创 微信小程序小总结

josn文件加注释"coment":{" 注释 ":""},

2021-12-09 21:35:59 252

原创 小美的仓库整理(美团2020秋招笔试题)之为什么不能用线段解题

同学想着用线段树写,但是提交后只过了1/10的样例,百思不得其解,遂对拍找问题,发现理解题意有问题emmmm(就离谱)。黑色为已删除,红色为当前删除,当删除f时,我们想的是将c+e的值输出,因为c和e都在f的一侧,但是别人通过的代码输出的是c或e当中较大的值,然后就没有然后了。输出区别:对拍代码:#include<bits/stdc++.h>using namespace std;const int MAX=5e4+5;bool st[MAX];int sum,w[MAX]=

2021-12-02 23:54:32 673

原创 Mysterious Antiques in Sackler Museum

题目【题意】给你四个矩形,让你选出三个,并判断这三个矩形是否能恰好构成一个大的矩形第一种构造法:全部在一行或一列第二种构造法:左边两个+右边一个或下面两个+上面一个【注意】形状可以旋转,既x和y的值可以互换#include<stdio.h>struct node{ int x,y;}a[9];int main(){ int T; scanf("%d",&T); while(T--) { for(int i=1;i<=4;i++) scan

2021-11-12 10:42:24 74

原创 不正方形(四个点构成一个凸四边形)

链接:http://oj.saikr.com/problem/ADPC2-C题意:两黄个点得在两个红点连线的两边且红点也得在黄点连线的两边#include<stdio.h>#include<vector>using namespace std;typedef long long ll;struct node{ ll x,y;}A[255],B[255];vector<int>v1,v2;int main(){ int N,M; scanf("%d

2021-10-30 17:01:44 544

原创 排序函数内嵌

struct node{ int l,r; bool operator <(const node &a)const{ return r < a.r; }}a[maxn];等于sort(a,a+n,cmp)bool cmp(node a,node b){ return a.r<b.r; }

2021-10-27 21:29:34 53

原创 知识点总结

二分、三分二分法在一个单调有序的集合或函数中查找一个解,每次分为左右两部分,判断解在哪个部分中并调整上下界,直到找到目标元素,每次二分后都将舍弃一半的查找空间,因此效率很高。三分法适用于求解凸性函数的极值问题,二次函数就是一个典型的单峰函数。三分法与二分法一样,它会不断缩小答案所在的求解区间。二分法缩短区间利用的原理是函数的单调性,而三分法利用的则是函数的单峰性。二分://整数二分int l,r;while(l<=r){ int mid=(l+r)/2; if(judge(mid)

2021-10-11 21:17:04 67

原创 优先队列小记

#include< queue >using namespace std;默认最小顶priority_queue< int > q;升序队列,小顶堆priority_queue <int,vector,greater > q;降序队列,大顶堆priority_queue <int,vector,less >q;

2021-09-22 17:44:30 54

原创 log2(num)小记

#include<math.h>函数中有log()函数,但是是以e为底的这里运用换底公式:loga(b) = logc(b)/logc(a)所以:log2(num)=log(num)/log(2)#include <bits/stdc++.h>该函数中之间使用log2(num)即可

2021-09-13 21:38:16 114

原创 埃及分数(迭代搜索(按层数剪枝))

//在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数 //x/y=1/a+1/b+....+1/x+1/y+1/z+....#include<stdio.h>#include<algorithm>using namespace std;typedef long long LL;const int N=1e5+5;const int INF=0x3f3f3f3f;bool flag;LL best,limt;LL way[N],ans[N.

2021-09-04 15:26:41 149

原创 CodeForces - 617 --- E. XOR and Favorite Number

题目链接解本题需要知道异或的知识点:若a ^ b = k 则b ^ k = a//如果a^b=k,则b^k=a #include<stdio.h>int main(){ for(int a=1;a<=5;a++) { for(int b=1;b<=5;b++) { for(int k=1;k<=5;k++) { int temp=a^b; if(temp==k) { printf("a^b:");

2021-07-19 10:45:20 71

原创 二维前缀和随记

(本文图片来源)更新前缀和:当需要计算红色部分前缀和时,由上图容易得知,红色部分前缀和=黄色部分前缀和+蓝色部分前缀和-绿色部分前缀和+本身节点的值。就得到了红色部分前缀和。即:sum [ i ] [ j ] = sum [ i-1 ][ j ] + sum [ i ][ j-1 ] - sum [ i-1 ][ j ] + sum [ i-1 ][ j-1 ]使用前缀和:当需要计算紫色部分(x1,y1)到(x2,y2)的前缀和时候,由上图容易得知,紫色部分前缀和=黄色部分前缀和-左边蓝色部分

2021-07-18 17:32:03 111

原创 二维差分(HDU - 6514)

题目链接Time Limit Exceeded代码:#include<stdio.h>#include<cstring>using namespace std;const int MAX=1e7+5;int main(){ int n,m; while(scanf("%d %d",&n,&m)!=EOF) { bool vis[n+2][m+2]; memset(vis,false,sizeof(vis)); int p,q,x1,y

2021-07-18 17:03:19 143

原创 strrev()和reverse()比较

1、cstring中的strrev函数#include<stdio.h>#include<cstring>using namespace std;int main(){ char str[]="hello word";// scanf("%s",str); strrev(str); printf("%s\n",str); return 0;}输出: drow olleh#include<stdio.h>#include<cstr

2021-07-15 11:29:10 164

原创 Manacher( 马拉车 )算法小结

关于马拉车的更多细节,别人的讲解都挺详细的,这里就不再赘述了。之前有点明白了核心算法里的:if(i<max_len) len[i]=min(max_len-i,len[2*max_i-i]);但今天做题又不明白了,说明当时没学透彻,今天又去看了下别人的讲解,这才更加加深了对这个算法的理解。如下图:(图片来源)j=2*max_i-i对于i<mx的情况:my是mx的对称点,由回文串的性质可以知道Len[j]<=Len[i]。此时分为两种情况:1、 Len[j]&lt

2021-07-13 10:36:29 65

原创 map函数用法小结

小结:头文件#include < map >定义:map<int,map<int,int>>mp;使用:清除容器数据:mp.clear()在(x,y)的位置赋step值:mp[x][y]=step查找(x,y)的位置上是否有值:if ( mp[x][y]==0 )练习题链接1练习题链接2AC代码:#include<stdio.h>#include<map>using namespace std;typedef long

2021-07-09 12:07:07 902

原创 set函数用法小结(一维)

成员方法功能begin()返回指向容器中第一个(注意,是已排好序的第一个)元素的双向迭代器。如果 set 容器用 const 限定,则该方法返回的是 const 类型的双向迭代器。end()返回指向容器最后一个元素(注意,是已排好序的最后一个)所在位置后一个位置的双向迭代器,通常和 begin() 结合使用。如果 set 容器用 const 限定,则该方法返回的是 const 类型的双向迭代器。find(val)在 set 容器中查找值为 val 的元素,如果成功找到,...

2021-07-09 10:08:52 348

原创 I - Borg Maze 最小生成树(kruskal)+bfs

题目链接#include<stdio.h>#include<queue>#include<algorithm>using namespace std;const int Max1=55,Max2=3000;//M的范围未给出 int T,M,N,n2;//bfsint dx[4]={1,-1,0,0};int dy[4]={0,0,1,-1};bool vis[Max1][Max2];//标记点 char str[Max1][Max2];int

2021-07-07 11:29:25 112

原创 prime算法与kruska算法随记

大佬写的详细讲解自己写的题目链接#include<stdio.h>const int Max=105;int INF=99999;bool vis[Max];int dis[Max];//边集合int map[Max][Max];int N;void solve_data(){ for(int i=1;i<=N;i++){ vis[i]=false; for(int j=1;j<=N;j++) if(i!=j) map[i][j]=INF;

2021-07-06 10:20:10 84

原创 KMP随记

小结int len=strlen(s);判断是否有循环:len%(len-next[len])==0当存在循环时:循环有多长:len-next[len]循环有几个:len/(len-next[len])还差几个构成完整的循环:len-ne[len]%lennext数组输入测试用例(更易理解)1、abcdeabcdeabcde(abcde abcde abcde)2、abcdxxxxxxxxabcd(abcd xxxx xxxx abcd)3、abcdeabcdabc(abcd

2021-07-04 21:48:59 94 2

原创 字符串与整数之间使用函数相互转换

定义:字符串:char str[18];整数:int num;整数转字符串:sprintf(str,"%d",num);字符串转整数:num=atoi(str);代码式例:#include<iostream>using namespace std;int main(){ char str1[18]="1234"; int num1=atoi(str1); cout<<num1<<endl; int num2=5678; char str

2021-06-28 21:58:08 111

原创 将一个数组赋值给另一个数组

原文链接memcpy()的函数使用案例1、将字符串复制到数组 dest 中(二维数组也可以使用)#include <stdio.h>#include <string.h> int main (){ const char src[50] = "http://www.runoob.com"; char dest[50]; memcpy(dest, src, strlen(src)+1); printf("dest = %s\n", dest);

2021-06-28 15:40:17 25455

转载 fill函数的用法(除-1、0外的数组赋值)

用于初始化

2021-06-18 21:05:54 319

原创 二分

二分-L-Pie题目:原题:My birthday is coming up and traditionally I’m serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to my party and each of them gets a piece of pie. This should b

2021-05-10 20:29:03 67

原创 B. Different Divisors

CodeforcesRound #696 (Div. 2)_B. Different Divisors题目连接:https://codeforces.com/contest/1474/problem/B原题input212output615翻译:正整数x被称为正整数y的除数,如果y能被x整除而无余数。例如,1是7的除数,3不是8的除数。我们给了你一个整数d让你找出最小的正整数a,这样a至少有4个因子;a的任意两个因数之差至少为d。输入第一行包含单个整数t(1≤t≤30

2021-02-06 23:27:22 190

原创 A. Puzzle From the Future

CodeforcesRound #696 (Div. 2)_A. Puzzle From the Future题目连接:https://codeforces.com/contest/1474/problem/A原题:下面展示一些 内联代码片。input5103011311061110006001011下面展示一些 内联代码片。output1110100101101101110翻译:在2022年,Mike发现了两个长度为n的二进制整数a和b(它们都

2021-02-06 22:39:13 195

转载 2016 计蒜之道 初赛 第二场 联想公司的 logo 设计(计蒜客)

题目:输入输出说明:输入输出样例:#include <stdio.h>#include <math.h>#define PI 3.1415926535898int main(){ double l1, l2, a; while (scanf("%lf %lf %lf", &l1, &l2, &a)!=EOF) { double L = sqrt(l1*l1+ l2*l2 - 2*l1*l2*cos(

2020-12-18 20:10:01 119 1

原创 计蒜客 A1001-整除问题

通过 43891 人次 / 提交 118075 人次时间限制 1000ms内存限制 32767K题目:判断一个数是否能被另一个整数整除是一个挺简单的问题,一般一个模运算就可以搞定了,懒惰的晓萌还是不想自己做,于是找到你帮他写代码,你就帮帮他吧。输入格式输入包括两个由空格分开的整数 MM 和 N(1\leq M,N \leq 500)N(1≤M,N≤500)。输出格式输出包括一行,如果 MM 可以被 NN 整除就输出YES,否则输出NO(结果大小写敏感)。样例输入21 7样例输出YE

2020-12-08 16:13:43 164

空空如也

空空如也

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

TA关注的人

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