摘要: 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 阅读(174) 评论(0) 推荐(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 阅读(143) 评论(0) 推荐(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 阅读(291) 评论(0) 推荐(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 阅读(197) 评论(0) 推荐(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 阅读(204) 评论(0) 推荐(0) 编辑
摘要: A. Grade Allocation 题意:t(200)组数据,n(1e3)个数字,每次可以随意调整数字,只要保证所有数都是非负整数且不大于m,并且平均数不变,问第一个数字最大多大。 思路:每次把a2~an的数字加到a1上,超过m就停止。其实就是所有数之和与m取min就是最终答案。 1 #incl 阅读全文
posted @ 2020-03-07 12:16 hyghb 阅读(190) 评论(0) 推荐(0) 编辑
摘要: A. Kuroni and the Gifts 题意:T(100)组数据,两组数an,bn,各n(100)个,每组数互不相同,找一种匹配方式使得ai+bj互不相同。 思路:两组数都进行排序,ai和bi匹配得到的就是严格递增的,互不相同。 1 #include<bits/stdc++.h> 2 #de 阅读全文
posted @ 2020-03-04 22:30 hyghb 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 问题一: 给n条线段,求出最多有多少条线段互不相交。 思路: 这是一个经典问题。具体做法是贪心,也可以使用dp。 贪心做法:按右端点排序,能选就选,不能就不选。因为如果不能选的话,它的加入一定会导致至少一条线段的退出,并且还使得当前线段集的最右端点右移了,一定不优。 dp做法:f[i]表示坐标到i最 阅读全文
posted @ 2020-03-04 14:51 hyghb 阅读(605) 评论(0) 推荐(0) 编辑
摘要: D. Three Integers 题意:t(100)组数据,每组给三个数字a<=b<=c(1e4),每次可以把其中一个数字+1或者-1,问最少多少次操作可以使得c%b==0,b%a==0,并且输出操作后的abc。 思路:暴力枚举a,再暴力枚举a的倍数b,再暴力枚举b的倍数c,复杂度不到nlog^2 阅读全文
posted @ 2020-03-03 21:54 hyghb 阅读(222) 评论(0) 推荐(0) 编辑
摘要: A. Cow and Haybales 题意:t(100)组数据,n(100)个数,每次可以操作相邻的两个数,使得一个数+1,一个数-1,问d(100)次操作最多使得最左边的数为多少。 思路:贪心即可,从左往右枚举,能移过去多少就移过去多少。 1 #include<bits/stdc++.h> 2 阅读全文
posted @ 2020-03-02 20:20 hyghb 阅读(223) 评论(0) 推荐(0) 编辑