随笔分类 -  练习赛

摘要:让你找一幅图里有多少点集含有三元环或者三个独立点。 由拉姆塞定理可知六个人中必有三个人认识或三个人都不认识,所以超过6的点集都算。 ans = pow(2,n) - C(n,i) i属于[ 0 , 5 ] r然后再暴力计算[ 3 , 5 ]的点集里哪些属于合法的即可。 #include <bits/ 阅读全文
posted @ 2018-09-19 15:34 LMissher 阅读(276) 评论(0) 推荐(0)
摘要:water,给一个数n,问从1...n的数字里最少删去多少数字让剩下的数字必不可能组成三角形。 保留的数字必定是1、2、3、5、8、13、21.....这样的数字。 //#define test #include<bits/stdc++.h> using namespace std; const i 阅读全文
posted @ 2018-09-19 12:43 LMissher 阅读(139) 评论(0) 推荐(0)
摘要:water //#define test #include<bits/stdc++.h> using namespace std; const int Nmax=1e6+7; typedef long long ll; struct LL { ll a,b; LL(){ } LL(ll aa,ll 阅读全文
posted @ 2018-09-19 12:41 LMissher 阅读(128) 评论(0) 推荐(0)
摘要:构造一个n个数字的排列,使其作为 sigma( gcd( a[i] , a[i+1] ) ) 中第k小的排列。 因为题目给的 k*2 <= n ,所以可以知道只会询问最小到第 n/2 小,易得最多移动一个数字即可得到答案。 假设原始排列为1 2 3 ... n,如果询问最小直接输出排列,否则询问x且 阅读全文
posted @ 2018-09-19 12:36 LMissher 阅读(198) 评论(0) 推荐(0)
摘要:给两个数组a , b,并给一个间隔值p。问在间隔值p下b在中有多少个匹配。 比如a数组为1 2 2 4 3,b数组为1 2 3,那么在间隔值为2的情况下有一个匹配。 把a数组中可以作为开头的所有间隔数字比如2可以开头的数字是1或者2,3可以开头的数字是1、2、3取出来。 然后做p次kmp即可。 // 阅读全文
posted @ 2018-09-19 12:28 LMissher 阅读(171) 评论(0) 推荐(0)
摘要:给一个数字 n ,(1<=n<=1e18)。让你找一些数字加起来和为 n ,数字个数不超过50个而且数字都是回文数字。 每次找到大小最接近这个数的回文数即可。如6745888可以找到6745476,6960242可以找到6950595。 用大数模拟一下即可。 //#define test #incl 阅读全文
posted @ 2018-09-19 12:21 LMissher 阅读(167) 评论(0) 推荐(0)
摘要:给一个数n,要把这个数分成m个数,这m个数的和n,且要求或起来的答案最小。 因为要或,所以易知m个数中最高位最小且尽量均分即可。 均分的时候先确定一个最高位,然后从最高位向低位填数字,如果一位能填则尽量填满即可。 chawa大数模拟一哈就好了。 import java.util.*; import 阅读全文
posted @ 2018-09-12 13:35 LMissher 阅读(219) 评论(0) 推荐(0)
摘要:给一个大圆,圆内有很多点,问大圆随机缩成一个固定半径的小圆后哪些点在小圆内的概率最大。 可以肯定点距离大圆边界的距离大于2*r那么这些点必然都是概率最大的,如果不存在这样的点,就找出离圆心最近的那些点即可。 #include <bits/stdc++.h> #define pb push_back 阅读全文
posted @ 2018-09-12 09:28 LMissher 阅读(259) 评论(0) 推荐(0)
摘要:贪心 #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define x first #define y second #define lson l,mid,rt<<1 #define rson mid+1,r,r 阅读全文
posted @ 2018-09-12 09:24 LMissher 阅读(184) 评论(0) 推荐(0)
摘要:water #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define x first #define y second #define lson l,mid,rt<<1 #define rson mid+1, 阅读全文
posted @ 2018-09-12 09:24 LMissher 阅读(181) 评论(0) 推荐(0)
摘要:water #include <bits/stdc++.h> #define mem(x) memset(x,0,sizeof(x)) #define LMissher using namespace std; int _,ans,tot,tmp; char s[15]; int flg[15]; 阅读全文
posted @ 2018-09-12 09:23 LMissher 阅读(228) 评论(0) 推荐(0)
摘要:有m个桌子组成的圆环,n个人坐在圆环里。(m>=n) 有q个A题信息,机器人负责给A题的人发气球,但是机器人只能顺时针走。 所有人们会有愤怒值,交题与获得气球的时间差为愤怒值,要求使得愤怒值之和最小。 考虑三点的圆环,发现其实所有的交题信息都可以转化为最多不同的三个状态。因为在一个环上从一点到另一点 阅读全文
posted @ 2018-09-12 01:13 LMissher 阅读(393) 评论(0) 推荐(0)
摘要:给n个数字与q次询问,每次询问找出区间不同数字的个数并输出在这个区间里第"(个数+1)/2"次出现的数字。每个数字只有第一次出现会被计数。 考虑主席树对区间不同个数的统计是基于重复的数字只保留最后出现的那次也就是说我们可以找到从后往前数字第一次出现的计数。 但现在要求的是从前向后,考虑从后向前建立主 阅读全文
posted @ 2018-08-31 21:34 LMissher 阅读(194) 评论(0) 推荐(0)