online judge bzoj
xaphoenix
这个作者很懒,什么都没留下…
展开
-
bzoj3122 [Sdoi2013]随机数生成器
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3122题目大意:Xn+1=(aXn+b)%P 0题目分析:我们将递推式展开得到:Xn+1=a^n*x1+b+a^2*b+···+a^(n-1)*b。后半部分我们用等比数列进行化简。我们设d=(b/(a-1))%P。那么Xn+1=a^n*x1+d*a^n-db。令(x1+d)为p,原创 2016-02-22 22:57:25 · 421 阅读 · 0 评论 -
bzoj3695 滑行
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3695题目分析:这里利用费马原理,我们知道这个最快方案一定是按照折射定律走的。由于初始角度与最终到达Y时的横坐标x成正比,所以我们可以利用二分法求解。#include#include#include#include#include#include#include#inc原创 2016-02-25 16:43:09 · 550 阅读 · 0 评论 -
bzoj4521 [Cqoi2016]手机号码 (数位DP)
dp[len][last][num][f4][f8][cur][pp]dp[len][last][num][f4][f8][cur][pp]。lenlen表示当前长度,lastlast表示上一个数字,numnum表示当前连续相同数字的长度,f4f4表示是否出现过44,f8f8表示是否出现过88,curcur表示是否沿着上界,pppp表示是否完成过连续33个相同数字。#include<cstdio>原创 2017-05-09 12:00:32 · 251 阅读 · 0 评论 -
bzoj3652 大新闻(数位DP)
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3652第一问只用统计出所有位1的个数即可。第二问我们用记忆化搜索。dp[len][cur][l]表示当前长度为len。若cur为1,则表示当前随机生成的数沿着上界。若l为1,则表示当前构造的数沿着上界。这种状况下答案的值。转移显然。#include<cstdio>#include<cstrin原创 2017-05-09 10:48:31 · 397 阅读 · 0 评论 -
bzoj1977 [BeiJing2010组队]次小生成树 Tree
在普通次小生成树的基础上再维护一个树上严格次大值即可。#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<set>#include<map>#include<queue>#include<stack>#inclu原创 2017-05-06 22:34:19 · 231 阅读 · 0 评论 -
bzoj3039 玉蟾宫 (悬线法)
参考《浅谈用极大化思想解决最大子矩形问题》–王知昆#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<set>#include<map>#include<queue>#include<stack>#include原创 2017-05-06 19:58:27 · 331 阅读 · 0 评论 -
bzoj4337 BJOI2015 树的同构
用的O(n2)O(n^2)的hash方法。#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<set>#include<map>#include<queue>#include<stack>#include<vec原创 2017-05-06 16:20:49 · 367 阅读 · 0 评论 -
bzoj1211 [HNOI2004]树的计数 prufer序列
prufer序列,组合数部分暴力分解质因数即可。#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<set>#include<map>#include<queue>#include<stack>#include<原创 2017-05-06 15:25:32 · 239 阅读 · 0 评论 -
bzoj2986 Non-Squarefree Numbers (莫比乌斯函数)
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2986 首先能想到二分答案,然后判断1~X中有多少个squarefree,这里用莫比乌斯函数来容斥即可。#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#includ原创 2017-05-09 16:57:33 · 246 阅读 · 0 评论 -
bzoj2301 [HAOI2011]Problem b (莫比乌斯函数)
首先可以想到分为四个前缀区间进行加加减减,考虑[1,a],[1,b][1,a],[1,b]这组: ∑i=1a∑j=1b[gcd(i,j)==k]\sum _{i=1}^{a} \sum_{j=1}^{b}[gcd(i,j)==k] =∑i=1a/k∑j=1b/k[gcd(i,j)==1]=\sum _{i=1}^{a/k} \sum_{j=1}^{b/k}[gcd(i,j)==1] =∑i=1原创 2017-05-09 17:35:26 · 369 阅读 · 0 评论 -
bozj2186 [Sdoi2008]沙拉公主的困惑
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2186题目大意:求n!中与m!互质的个数模R的值。n,m题目分析:我们所要求的答案为phi(m!)*n!/m! 模R的值。我们用线性筛法即可求解。#include#include#include#include#include#include#includeusin原创 2016-02-21 23:18:49 · 425 阅读 · 0 评论 -
bzoj3209 花神的数论题
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3209题目大意:设sum(i)为i在二进制下的1的个数,求sum(1)~sum(n)的乘积模1e8+7的值。n题目分析:将n加1后,转为二进制,然后数位dp即可。#include#include#include#include#include#includeusin原创 2016-02-21 21:34:46 · 433 阅读 · 0 评论 -
bzoj2005 能量采集
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2005题目大意:在左边(0,0)处有一个发射器,在横坐标1~x,纵坐标1~y这xy点有接收器,发射器要对每一个点发射信息,发射到(x0,y0)的能量损失为(0,0)(x0,y0)这条线段上的点数(不包括端点)*2+1,问能量损失之和题目分析:一个点(x0,y0)和点(0,0)中间隔的原创 2016-02-20 13:21:01 · 332 阅读 · 0 评论 -
bzoj1000 A+B Problem
好吧,各大oj的开头。#include#include#includeusing namespace std;int main(){ int a,b; cin>>a>>b; cout<<a+b<<endl; return 0;}一道伟大的题目,不亚于Hello World的重要性从高中pascal到大学C++,新的历程,祝我顺利,祝福曾经和未来在竞赛路原创 2015-08-10 21:53:20 · 328 阅读 · 0 评论 -
hdu4006 The kth great number
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4006裸treap,模板来自po主:http://www.cnblogs.com/Mathics/p/3967592.html 致敬#include #include #include #include #include #include #include #defi原创 2015-11-23 12:43:25 · 336 阅读 · 0 评论 -
bzoj1607 [Usaco2008 Dec]Patting Heads 轻拍牛头
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1607题目大意:给你n(n题目分析:暴力乱搞下就行。#include#include#include#include#include#includeusing namespace std;int read(){ int x=0,f=1;char ch=g原创 2016-02-16 23:23:17 · 353 阅读 · 0 评论 -
bzoj2818 Gcd
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2818题目大意:给你一个n,让你求使得gcd(x,y)为素数的有序数对(x,y)的个数,其中1题目分析:我们枚举1到n内的素数(gcd(x,y)的值),对于每一个素数p,我们需要找到数对(a,b)的个数,其中a和b互质且p*a和p*b均小于n。那么我们先用筛法求出phi和素数。并求出原创 2016-02-17 00:08:31 · 479 阅读 · 0 评论 -
bzoj2705 [SDOI2012]Longge的问题
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705题目大意:给定一个N,要求sigma(gcd(i,N))的值,1题目分析:我们枚举gcd(i,N)的值,即,枚举N的约数,时间复杂度为sqrt(N),然后对于每一个枚举值p,我们计算phi(N/p),由于N的值比较大,我们不能预处理,所以我们就暴力在sqrt(N)的时间内求出p原创 2016-02-17 00:24:07 · 773 阅读 · 0 评论 -
bzoj3629 [JLOI2014]聪明的燕姿
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3629题目大意:给定一个N,输出所有正约数之和等于N的数。题目分析:dfs即可。#include#include#include#include#include#includeusing namespace std;typedef long long LL;con原创 2016-02-17 00:57:24 · 526 阅读 · 0 评论 -
bzoj2659 [Beijing wc2012]算不出的算式
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2659向下取整和p/q的形式会让我们联想到斜率和整点的个数。那么原式子的前半部分我们可以看做是S1区域的整点个数,后半部分可以看做是S2区域整点个数。如果此时p=q,直线上有有点,但是我们可以直接计算出公式的值(p-1)(p+1)/4如果此时p!=q,直线上不存在点,原创 2016-02-16 23:02:24 · 798 阅读 · 0 评论 -
bzoj1041
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041题目大意:求一个给定圆x^2+y^2=r^2上有多少个整点 r题目分析:我们对原式进行变形,(r-x)(r+x)=y*y我们设r-x和r+x的最大公约数为d,那么(r-x)/d的值一定也为平方数,我们设它为u^2。同理我们设r+x=d*v^2。那么2r=d*(u^2+v^2),原创 2016-02-20 12:52:54 · 401 阅读 · 0 评论 -
bzoj2820 YY的 (莫比乌斯函数)
枚举质数pp,可以得到 ∑p=1min(n,m)∑t=1min(n/p,m/p)μ(t)[n/pt][m/pt]\sum _{p=1} ^{min(n,m)} \sum _{t=1}^{min(n/p,m/p)} \mu (t) [\frac{n/p}{t}][\frac{m/p}{t}] 令T=ptT=pt,原式可以化为 ∑T=1min(n,m)[nT][mT]∑p|Tμ(Tp)\sum _原创 2017-05-09 18:45:53 · 420 阅读 · 0 评论