BZOJ1257: [CQOI2007]余数之和sum
来源:互联网 发布:手机淘宝的链接在哪里 编辑:程序博客网 时间:2024/05/20 13:19
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257
暴力枚举肯定是不行的,50%还可以
计算k%x时分成两种情况:
1、x>k时显然结果是k
2、x<=k时答案是梯度的,当 x∈[⌊k/(t+1)+1⌋,⌊k/t⌋]时结果是一段公差为t的等差数列,每段可以O(1)处理,要处理√n次,[1,√n]这段就不是按规律的了,或者说是每段的长度退化成1,所以可以一个个算过去
综上,这题就可以分段做复杂度是O(2√n)
贴代码
#include<cstdio>#include<cstring>using namespace std;long long kk,n,k,t,ans,x,y,z;int main(){freopen("1257.in","r",stdin);freopen("1257.out","w",stdout);scanf("%lld%lld",&n,&k);ans=0;t=2;y=0;if (n>k)ans=(n-k)*k,n=k;kk=n;while (kk!=0){x=k%kk;y=k/t+1;if (y>kk) y=kk;z=k%y;if (x<=z)ans+=(z+x)*((z-x)/(t-1)+1)/2;t++;kk=y-1;}printf("%lld",ans);return 0;}
【写的有漏洞的,欢迎路过大神吐槽】
2016/12/30 15:30:14
Ending.
0 0
- BZOJ1257 [CQOI2007]余数之和sum
- bzoj1257: [CQOI2007]余数之和sum
- [BZOJ1257][CQOI2007]余数之和sum
- bzoj1257: [CQOI2007]余数之和sum
- Bzoj1257[CQOI2007]余数之和sum
- [bzoj1257][CQOI2007]余数之和sum
- 【bzoj1257】【CQOI2007】【余数之和】【sum】
- BZOJ1257: [CQOI2007]余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum
- bzoj1257[CQOI2007] 余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum
- bzoj1257: [CQOI2007]余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum
- bzoj1257 [CQOI2007]余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum 数论乱搞
- [BZOJ1257][CQOI2007]余数之和sum(数论)
- 【阈值优化】BZOJ1257(CQOI2007)[余数之和sum]
- [除法分块] BZOJ1257: [CQOI2007]余数之和sum
- android_activity_研究(二)
- 使用观察者模式Observer实现对Android网络状态的监听
- android_onSaveInstanceState_onRestoreInstanceState研究
- 根据一个表更新另外一个表/多表更新
- android_sdcard读写(一)
- BZOJ1257: [CQOI2007]余数之和sum
- android_sdcard读写(二)
- 在centos7 上编译trackRT
- android_sdcard读写(三)
- CentOS6.8编译安装Apache2.4.25、MySQL5.7.16、PHP5.6.29
- Measure throughput of cellular and WiFi MIMO radios, part 1
- android_SurfaceView 画图
- g711u与g729比较编码格式
- android surfaView surfaHolder video 播放