01 2022 档案

摘要:(p-1)*(q-1)-1 阅读全文
posted @ 2022-01-30 18:19 zzq12138 阅读(41) 评论(0) 推荐(0) 编辑
摘要:四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 44 个正整数的平方和。 如果把 00 包括进去,就正好可以表示为 44 个数的平方和。 比如: 5=02+02+12+225=02+02+12+227=12+12+12+227=12+12+12+22 对于一个给定的正整数,可能存在多 阅读全文
posted @ 2022-01-27 23:56 zzq12138 阅读(123) 评论(0) 推荐(0) 编辑
摘要:100100 可以表示为带分数的形式:100=3+69258714100=3+69258714 还可以表示为:100=82+3546197100=82+3546197 注意特征:带分数中,数字 1∼91∼9 分别出现且只出现一次(不包含 00)。 类似这样的带分数,100100 有 1111 种表示 阅读全文
posted @ 2022-01-26 00:01 zzq12138 阅读(685) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include<algorithm> using namespace std; int main(int argc, char** argv) { int a[4]={1,2,3,4}; sort(a,a+4); do{ //cout<<a[0]<<" "< 阅读全文
posted @ 2022-01-25 23:50 zzq12138 阅读(40) 评论(0) 推荐(0) 编辑
摘要:从 1∼n1∼n 这 nn 个整数中随机选出 mm 个,输出所有可能的选择方案。 输入格式 两个整数 n,mn,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行 11 个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较 阅读全文
posted @ 2022-01-25 17:37 zzq12138 阅读(27) 评论(0) 推荐(0) 编辑
摘要:把 1∼n1∼n 这 nn 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数 nn。 输出格式 按照从小到大的顺序输出所有方案,每行 11 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤n≤9 阅读全文
posted @ 2022-01-24 22:52 zzq12138 阅读(30) 评论(0) 推荐(0) 编辑
摘要:从 1∼n1∼n 这 nn 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 nn。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任 阅读全文
posted @ 2022-01-24 15:21 zzq12138 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一般ACM或者笔试题的时间限制是1秒或2秒。 在这种情况下,C++代码中的操作次数控制在 107∼108107∼108 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dp n≤100n≤100 => O(n3)O(n3) 阅读全文
posted @ 2022-01-23 23:17 zzq12138 阅读(17) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; const int N=1010; int a[N][N],b[N][N]; void insert(int x1,int y1,int x2,int y2,int c){ b[x1][y1]+=c; b[x2+1][y 阅读全文
posted @ 2022-01-23 22:38 zzq12138 阅读(59) 评论(0) 推荐(0) 编辑
摘要:输入一个长度为 nn 的整数序列。 接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数 nn 和 mm。 第二行包含 nn 个整数,表示整数序列。 接下来  阅读全文
posted @ 2022-01-23 00:15 zzq12138 阅读(37) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; const int N = 1e5 + 10; int a[N], b[N]; int main() { int n, m; scanf("%d%d", &n, &m); for (int i = 1; i <= n; 阅读全文
posted @ 2022-01-22 23:59 zzq12138 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1. S[i,j]S[i,j]即为图1红框中所有数的的和为: 2. S[i,j]=S[i,j−1]+S[i−1,j]−S[i−1,j−1]+a[i,j]S[i,j]=S[i,j−1]+S[i−1,j]−S[i−1,j−1]+a[i,j](x1,y1),(x2,y2)(x1,y1),(x2,y2)这一 阅读全文
posted @ 2022-01-22 21:44 zzq12138 阅读(30) 评论(0) 推荐(0) 编辑
摘要:输入一个长度为 nn 的整数序列。 接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。 对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。 输入格式 第一行包含两个整数 nn 和 mm。 第二行包含 nn 个整数,表示整数数列。 接下来 mm 行,每行包含两个整数 ll 和  阅读全文
posted @ 2022-01-22 19:22 zzq12138 阅读(59) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<vector> #include<algorithm> using namespace std; vector<int> div(vector<int> &A,int b,int &r){//被除数 除数 余数(以引用的方式计算并传值) r=0 阅读全文
posted @ 2022-01-22 14:36 zzq12138 阅读(42) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<vector> using namespace std; vector<int> mul(vector<int> &A,int b){ int t=0;//初始进位为0 vector<int> C; for(int i=0;i<A.size() 阅读全文
posted @ 2022-01-22 13:42 zzq12138 阅读(30) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<vector> using namespace std; bool cmp(vector<int> &A,vector<int> &B){ if(A.size()!=B.size()) return A.size()>B.size();//如果 阅读全文
posted @ 2022-01-22 00:29 zzq12138 阅读(45) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<vector> using namespace std; vector<int> add(vector<int> &A,vector<int> &B){ int t=0;//初始进位为0 vector<int> c; for(int i=0;i 阅读全文
posted @ 2022-01-21 00:22 zzq12138 阅读(31) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; int main(){ double x; cin>>x; double l=-10000,r=10000;//先确定边界 while(r-l>1e-8){//比保留小数位数多两位保险 double mid=(l+r)/ 阅读全文
posted @ 2022-01-20 17:20 zzq12138 阅读(41) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; const int N=100010; int q[N],tmp[N]; void mergesort(int q[],int l,int r){ if(l>=r) return; int mid=(l+r)/2; me 阅读全文
posted @ 2022-01-20 00:02 zzq12138 阅读(20) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; const int N=100010; int a[N]; void qsort(int a[],int l,int r){ if(l>=r) return;//如果递归的过程中,指向数组两边的指针相遇了,说明排序完成, 阅读全文
posted @ 2022-01-17 23:07 zzq12138 阅读(32) 评论(0) 推荐(0) 编辑
摘要:例题: 给定一个模式串 S,以及一个模板串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模板串 P 在模式串 S 中多次作为子串出现。 求出模板串 P 在模式串 S 中所有出现的位置的起始下标。 输入格式 第一行输入整数 N,表示字符串 P 的长度。 第二行输入字符串 P。 第三行输入整数 阅读全文
posted @ 2022-01-17 15:41 zzq12138 阅读(33) 评论(0) 推荐(0) 编辑
摘要:int round(double x){ return (x>0.0) ? x+0.5 : x-0.5; } 阅读全文
posted @ 2022-01-14 00:53 zzq12138 阅读(30) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include<string> using namespace std; int c[26];//存字母出现的次数 int main() { string a; cin>>a; int max=0; int i; char x;//存出现次数最多的字母 fo 阅读全文
posted @ 2022-01-14 00:52 zzq12138 阅读(1267) 评论(0) 推荐(0) 编辑
摘要:给定一个按照升序排列的长度为 nn 的整数数组,以及 qq 个查询。 对于每个查询,返回一个元素 kk 的起始位置和终止位置(位置从 00 开始计数)。 如果数组中不存在该元素,则返回 -1 -1。 输入格式 第一行包含整数 nn 和 qq,表示数组长度和询问个数。 第二行包含 nn 个整数(均在  阅读全文
posted @ 2022-01-14 00:47 zzq12138 阅读(23) 评论(0) 推荐(0) 编辑
摘要:while(n--)改变了n的值,如果后面有关于n的运算便会出错。int型变量做除法是要小心除成小数后为0。 阅读全文
posted @ 2022-01-14 00:45 zzq12138 阅读(297) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示