摘要:一 .数学基础 1.模运算的基本法则与相关定理 1)(a+b)%p=((a%p)+(b%p))%p (a-b)%p=((a%p)-(b%p)+p)%p a*b%p=((a%p)*(b%p))%p (a^b)%p=((a%p)^b)%p (本质就是乘法) 2)费马小定理,欧拉定理,扩展欧拉定理 费马小 阅读全文
posted @ 2020-03-13 21:12 hyghb 阅读 (6) 评论 (0) 编辑
摘要:高考失利,竞赛没用上 来到了csu,重启博客 只更新题解,希望一点点恢复到高二时的水平 阅读全文
posted @ 2020-01-11 10:44 hyghb 阅读 (17) 评论 (0) 编辑
摘要:D. Carousel 题意:给一个n(2e5)个点的环,每个点上有一个数字ai,现在要求你再给每个点一个值bi,使得不存在相邻的两个点他们ai不同,bi相同,问bi最少取几个值。 思路:如果所有ai都相同,bi只取一个即可。如果存在ai不同的情况,则至少取两个bi,如果环是偶数长度,那么可以121 阅读全文
posted @ 2020-03-31 20:15 hyghb 阅读 (5) 评论 (0) 编辑
摘要:A. Sum of Odd Integers 题意:给你n,k问n能否表示为k个不同的正奇数之和。 思路:k个奇数和的奇偶性与k相同,所以如果k和n奇偶性不同必然不行。相同时我们可以取最小的几个正奇数1,3,5...2k-1,如果他们之和小于n,我们可以调整2k-1为合适的值来使得他们的和为n,否则 阅读全文
posted @ 2020-03-31 18:44 hyghb 阅读 (2) 评论 (0) 编辑
摘要:A. Optimal Currency Exchange 题意:你有n(1e8)卢布,你要把他们换成欧元或者美元,告诉你汇率,美元面值为1, 2, 5, 10, 20, 50,100,欧元面值为5,10,20,50,100,200。问换完钱最少剩多少卢布。 思路:美元只换面值为1的,欧元只换面值为5 阅读全文
posted @ 2020-03-30 23:14 hyghb 阅读 (4) 评论 (0) 编辑
摘要:A. Bad Ugly Numbers 题意:找一个n位的正数,使得它的每一位都不能整除这个数。 思路:构造2333...这样的序列即可。 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define dl double 4 void rd(i 阅读全文
posted @ 2020-03-29 17:36 hyghb 阅读 (10) 评论 (0) 编辑
摘要:Allocation 题意:n(1e5)个数,选出尽可能多的数使他们总和小于等于b。 思路:排序,尽可能取小。 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define dl double 4 void rd(int &x){ 5 x=0; 阅读全文
posted @ 2020-03-28 22:19 hyghb 阅读 (7) 评论 (0) 编辑
摘要:A. EhAb AnD gCd 题意:找两个数使得他们的gcd和lcm之和为x。 思路:取1和x-1即可。 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define dl double 4 void rd(int &x){ 5 x=0;in 阅读全文
posted @ 2020-03-17 17:46 hyghb 阅读 (17) 评论 (0) 编辑
摘要:一 .数学基础 1.模运算的基本法则与相关定理 1)(a+b)%p=((a%p)+(b%p))%p (a-b)%p=((a%p)-(b%p)+p)%p a*b%p=((a%p)*(b%p))%p (a^b)%p=((a%p)^b)%p (本质就是乘法) 2)费马小定理,欧拉定理,扩展欧拉定理 费马小 阅读全文
posted @ 2020-03-13 21:12 hyghb 阅读 (6) 评论 (0) 编辑
摘要:A. Two Regular Polygons 题意:给两个数m<n,判断能否选择正n边形的m个端点构成正m边形。 思路:构造出的正m边形的每条边对应原正n边形的边的数目是相同的,所以只需要判断n能否被m整除即可。 1 #include<bits/stdc++.h> 2 #define LL lon 阅读全文
posted @ 2020-03-13 21:05 hyghb 阅读 (44) 评论 (0) 编辑
摘要:A. Even Subset Sum Problem 题意:给n个数,找个非空子集使其和为偶数,输出子集大小和元素下标,不存在输出-1。 思路:如果有偶数就取一个偶数,否则取两个奇数,否则不合法。 1 #include<bits/stdc++.h> 2 #define LL long long 3 阅读全文
posted @ 2020-03-10 18:25 hyghb 阅读 (32) 评论 (0) 编辑
摘要:A. Grade Allocation 题意:t(200)组数据,n(1e3)个数字,每次可以随意调整数字,只要保证所有数都是非负整数且不大于m,并且平均数不变,问第一个数字最大多大。 思路:每次把a2~an的数字加到a1上,超过m就停止。其实就是所有数之和与m取min就是最终答案。 1 #incl 阅读全文
posted @ 2020-03-07 12:16 hyghb 阅读 (19) 评论 (0) 编辑