• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
taorunz‘s Space
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2013年5月10日

APIO2012 简要题解
摘要: dispatching: 我们可以使用一个大根堆保存一个子树中的所有点,同时维护节点个数和点权和。不断删除最大值使和小于m,这样就是一个方案。再把子树合并到父节点的堆中,用左偏树可以做到O(log n)。guard: 我们把报告无人的区间都删去,再把完全包含其他子区间的区间也可删去(因为它们一定可以满足)。之后再离散化、排序。记F(i)为满足1-i号区间(排序后的)限制的最少的忍者数,G(i)为满足i-n的忍者数,这可以用贪心求出(每次选未被满足的第一个区间的最右端)。这里我们也可以发现,只有一个区间的右端点才一定有人。这样我们枚举每个区间,若长度为一则一定要取;若长度不为一,则尝试右端点.. 阅读全文
posted @ 2013-05-10 21:25 taorunz 阅读(327) 评论(0) 推荐(0)
 
 

2013年4月4日

BZOJ 3025: [Balkan2003]Farey数列
摘要: 题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3025题意:把所有分子和分母都小于N的最简真分数从小到大排成一行,形成的序列称为Farey序列。例如:N=4时序列是1/4,1/3,2/3,3/4。求出N所对应的Farey序列中第k大的数。题解:首先我们二分答案x,这样就转化为求y=(n的farey序列中比x小的数的个数)我们可以推出y=(sigma(d,1,n) miu(d)*(sigma(i,1,[n/d]) [x*i])CODE:#include<cstdio>#include<cmath>using na 阅读全文
posted @ 2013-04-04 21:30 taorunz 阅读(553) 评论(0) 推荐(0)
 
 

2013年3月29日

BZOJ 3085: 反质数加强版SAPGAP
摘要: 题目地址:http://www.8zoj.tk/JudgeOnline/problem.php?id=3085题意:将一个正整数i的约数个数记为g(i),如g(1)=1,g(2)=2,g(6)=4。如果对于一个正整数k,对于任意正整数i<k,均有g(k)>g(i),则k被称为反质数。比如说1,2,4,6,12就是前5个反质数。现在给定一个N,求N以内最大的反质数(N<=10^100)。一个数的质因数分解形式为: n=p_1^a_1*p^2^a_2*p_3^a_3*...*p_k^a_k则n的约数个数为 g(n)=(a_1+1)*(a_2+1)*(a_3+1)*...*(a_n 阅读全文
posted @ 2013-03-29 22:16 taorunz 阅读(595) 评论(0) 推荐(0)
 
 

2013年3月1日

BZOJ 1041: [HAOI2008]圆上的整点
摘要: 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。n<=2000 000 000。显然我们可以算出(x>0,y>0,x<=y)的情况数在*8(其他方向都是对称的)在勾股数中有这样一个结论:a^2+b^2=c^2,(a,b,c)=1则有m,n( (m,n)=1 )满足:a=m^2-n^2b=2*m*nc=m^2+n^2在这个问题中,c=kr,所以我们先枚举k,再枚举m^2+n^2=c/k且(m,n)=1的组数,最后HASH去重就行了。CODE:#include<cstdio>#include<set>#include< 阅读全文
posted @ 2013-03-01 21:47 taorunz 阅读(380) 评论(1) 推荐(0)
 
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3