基础
crosaa
这个作者很懒,什么都没留下…
展开
-
【考试】list1
目录知识点题目[NOIP2017 提高组] 宝藏1.[NOI2001] 炮兵阵地2.[NOIP2001 提高组] 数的划分3.[CSP-S2019] 树的重心4.[CSP-S2019] Emiya 家今天的饭5.[CSP-S2019 江西] 多叉堆6.[CSP-S 2021] 廊桥分配7.[CSP-S 2021] 括号序列8.[CSP-S 2021] 回文9.[CSP-S 2021] 交通规划10.[十二省联考2019]异或粽子11.[NOIP2020] 字符串匹配12.[NOIP2020] 微信步数13.原创 2021-11-17 23:07:08 · 398 阅读 · 0 评论 -
【考试】list2
目录知识点题目1.邮票 Stamps2.木棍加工3.种树4.钓鱼5.[NOIP2015 普及组] 推销员6.[NOIP2013 普及组] 车站分级7.Work Scheduling G8.[NOIP2015 提高组] 斗地主9.扇区填数10.[AHOI2018初中组]分组11.三角形牧场12.[NOI2014] 起床困难综合症13.[NOIP1999 提高组] 旅行家的预算14.[NOIP2012 提高组] 国王游戏15.[国家集训队]特技飞行16.[NOIP2010 提高组] 关押罪犯17.[HAOI20原创 2021-11-17 20:23:56 · 3101 阅读 · 0 评论 -
【基础】高精度(和 差 积 商 余)
重点说一下除法的操作除法就是枚举除数的1ek倍,然后用被除数减去这个数,给ans的第k位++取模运算就是每次减去被除数的1ek倍,直到不能减为止,就是ans加法减法和乘法就是先算好,然后一位一位处理就行了,最后再去掉前导0最后要注意的是,输入的时候忙吧最低位放在1,好进位,就是翻转一下struct data{ int num[Maxn]; int len; char op; data(){ memset(num,0,sizeof(num));len=1;op='+';}};.原创 2021-10-27 18:08:28 · 111 阅读 · 0 评论 -
【基础】二分模板
整数的二分查找模板一while(l<r){ int mid=(l+r)>>1; if(a[mid]>=x) r=mid; else l=mid+1;}模板二while(l<r){ int mid=(l+r+1)>>1; if(a[mid]<=x) l=mid; else r=mid-1;}二分答案模板while(l<=r){ mid=(l+r)>>1;.原创 2021-10-20 08:33:21 · 76 阅读 · 0 评论 -
【基础】中缀表达式求值模板
//参考老师代码 #include<iostream>#include<cstdio>#include<cstring>#include<stack>#include<cmath>#include<algorithm>#define Maxn 100000using namespace std;int n,m;stack<int> s1;stack<char> s2;inline i.原创 2021-09-30 15:30:39 · 117 阅读 · 0 评论 -
【基础】指针在子函数中的传递
传一个参数的值,可以直接对地址上的数字进行操作int a,b;inline void swap(int *a,int *b){ int tmp=*a; *a=*b; *b=tmp;}int main(){ a=1;b=2; swap(&a,&b); printf("a=%d b=%d",a,b); return 0;}如果传递一个一维数组可以这样inline void node(int x[]){ x[1]=0;}int main(.原创 2021-09-04 10:42:28 · 489 阅读 · 0 评论 -
【基础】struct的函数操作
基本和子函数的写法相同,可以加inlineinline int area(){ if(!cnt) return 0; else return (rx-lx)*(ly-ry);}重定义运算符最好用友元函数friend bool operator *(rectangle x,rectangle y){ if(!x.cnt||!y.cnt) return 0; if(x.in_rec(y.lx,y.ly)||x.in_rec(y.lx,y.ry) ||x.in_rec(y.rx,原创 2021-09-04 09:36:13 · 594 阅读 · 0 评论 -
【基础】高精乘与高精加的简便写法
inline void cal(int x,int y,int from,int to){ int nn[50]; int lenn=0; lent=0; for(int i=to;i>=from;i--) { nn[++lenn]=a[i]-'0'; } lent=max(f[x][y].len,lenn); for(int i=1;i<=f[x][y].len;i++) { for(int j=1;j<=lenn;j++) { tmp[i+j-1.原创 2021-08-23 16:18:01 · 150 阅读 · 0 评论 -
【基础】bool的输入
bool类型的输入一般不用scanf(),和printf(),如果只是输入一个单个值可以,但是输入数组就不行比如:#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int Maxn=25;bool a[10];int main(){ a[2]=1; scanf("%d",&a[1]); printf("%d %d",a[1],a[2原创 2021-08-06 19:01:31 · 3558 阅读 · 3 评论