
noip总结与提升
wanderist.
……
展开
-
有关压位高精
压位高精在高精度运算中加入了压位思想。详情请看代码(以高精加法为例)#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define p 8 //要压的数#define carry 100000000 //用于进位 using namespace std;const int N=100010;char s1[N],s2[N];int a[原创 2021-08-23 21:41:42 · 209 阅读 · 0 评论 -
最小生成树
#include<bits/stdc++.h>using namespace std;#define re register#define il inlineil int read(){ re int x=0,f=1;char c=getchar(); while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();} while(c>='0'&&c<='9') x=(x<<3)原创 2021-08-09 18:09:11 · 93 阅读 · 0 评论 -
有关幻方.
一道水题#include<cstdio>using namespace std;int n,a[40][40],x,y;int main(){ scanf("%d",&n); x=1,y=(n+1)/2; for(int i=1;i<=n*n;i++){ a[x][y]=i; if(!a[(x-2+n)%n+1][y%n+1]) x=(x-2+n)%n+1,y=y%n+1; else x=x%n+1;//数学运算 } for(int i=1;i<原创 2021-08-09 15:54:49 · 85 阅读 · 0 评论 -
关于读入不定数量的数据&&其他STL(主要是读入读出技巧)
1.while (scanf("%d",&input)!=EOF){2.while((cin>>m)!=0)原创 2021-08-08 14:02:24 · 157 阅读 · 0 评论 -
一些字符串输出题
luoguP5461赦免战俘#include<bits/stdc++.h>using namespace std;int n;int main(){ scanf("%d",&n); for(int i=0;i<(1<<n);i++){ for(int j=0;j<(1<<n);j++){ printf("%d ",(i|j)!=((1<<n)-1)?0:1);} printf("\n");} return 0;}原创 2021-08-03 15:43:07 · 146 阅读 · 0 评论 -
noip常用技巧之快读
void write(int x){ if (x<0){ putchar('-'); x=-x; } if (x>9) write(x/10); putchar(x%10+'0');}int read(){ int x=0,f=1; char c=getchar(); while (c<'0'||c>'9'){ if (c=='-') f=-1; c=getchar(); } while (c>='0'&&c<='.原创 2021-08-02 16:01:41 · 297 阅读 · 0 评论 -
noip中的那些鲜为人知的“常识“
在看题解时,我们经常会看到这样一句话:大家应该都知道……,众所周知……,但对于我这种蒟蒻,大佬眼们中的常识,到我这里仿佛比高级算法还难,大多都是听都没听过。所以,本蒟蒻决定总结一下那些鲜为人知的"常识",让自己不断变强。持续更新1.两个数的积=它们的最大公约数和最小公倍数的积。2.一个序列最少可以用多少个下降子序列拼出来=这个序列最长上升子序列的长度3.八数码问题中如果逆序对的数量是奇数,那么一定无解。所有的奇数码问题中,如果逆序对的数量时奇数,那么一定无解。4.偶数码问题中,如果空格到当前目原创 2020-08-21 18:03:54 · 194 阅读 · 0 评论