博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AOJ 740 求和
阅读量:5757 次
发布时间:2019-06-18

本文共 1052 字,大约阅读时间需要 3 分钟。

 
链接:
 
Description
对于正整数n,k,我们定义这样一个函数f,它满足如下规律
f(n,k=1)=-1+2-3+4-5+6...n
f(n,k=2)=-1-2+3+4-5-6...n
f(n,k=3)=-1-2-3+4+5+6...n
f(n,k=4)=-1-2-3-4+5+6+7+8...n
现在给出n和k,你的任务就是要计算f(n,k)的值。

 

Input
首先是一个整数T,表示有T组数据
接下来每组数据是n和k(1<=n,k<=100000000)

 

Output
打印出f(n,k)的值,每个输出单独占一行

 

Sample Input
31 12 13 1
Sample Output
-11-2
Source
安徽省2015年“京胜杯”大学生程序设计竞赛
来源: 
 
 
简单题解:
 
    - 
找规律,循环节大小为k*k,长度为2*k
 
    - 
用这种方法解决虽然能低调通过,但消耗的时间仍然接近1s,求更好的解决办法~
 
 
1 #include
2 using namespace std; 3 4 int main() 5 { 6 long long t; 7 cin>>t; 8 while(t--) 9 {10 long long n,k,l;11 while(cin>>n>>k)12 {13 l=n/(2*k);14 long long sum=l*k*k;15 long long s=k;16 for(long long i=l*2*k+1;i<=n;i++)17 {18 if(s!=0)19 {20 sum-=i;21 s--;22 }23 else24 sum+=i;25 } 26 cout<
<

 

转载于:https://www.cnblogs.com/wixy/p/5496178.html

你可能感兴趣的文章
GCM 3.0采用类似方式向Android、iOS和Chrome发送消息
查看>>
如何成为一家敏捷银行
查看>>
MongoDB主动撤回SSPL的开源许可申请
查看>>
过早扩张、未经检验的技术,创业公司最易跳入哪些致命陷阱?
查看>>
Oracle在JavaOne上宣布Java EE 8将会延期至2017年底
查看>>
使用Prometheus监控Cloudflare的全球网络
查看>>
Javascript 深入浅出原型
查看>>
VS 2019要来了,是时候了解一下C# 8.0新功能
查看>>
我为何从开发转测试,并坚持了16年?
查看>>
简单之极,搭建属于自己的Data Mining环境(Spark版本)
查看>>
Web Storage--HTML5本地存储
查看>>
数据库自动化:DBA和DevOps的双赢
查看>>
Ruby 2.5.0概览
查看>>
Docker4Dev #7 新瓶装老酒 – 使用 Windows Container运行ASP.NET MVC 2 + SQLExpress 应用
查看>>
如何通过解决精益问题提高敏捷团队生产力
查看>>
阿里云数据库产品总监何云飞:云服务是影响未来10~20年的事
查看>>
Comment2Wechat —— Typecho 插件
查看>>
Apache下.htaccess文件配置及功能介绍
查看>>
Magento XML cheatsheet
查看>>
Egg 2.19.0 发布,阿里开源的企业级 Node.js 框架
查看>>