hdu 5666
来源:互联网 发布:怎么复制汇总数据 编辑:程序博客网 时间:2024/06/10 14:28
题意:求x+y=q与坐标轴围成的三角形中,有多少个整数点坐标(不包括边界)
解析:注意数据很大,要用到快速乘
#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;typedef long long ll;long long q,p;int t;ll qmul(ll a,ll b,ll m) { ll ans=0; while(b) { if(b&1) (ans+=a) %= m; (a=a*2) %= m; b/=2; } return ans;}int main(){ scanf("%d",&t); while(t--) { scanf("%lld%lld",&q,&p); ll ans; if(!((q-1)%2)) ans=qmul((q-1)/2,q-2,p); else ans=qmul(q-1,(q-2)/2,p); printf("%lld\n",ans%p); } return 0;}
0 0
- HDU 5666
- hdu 5666
- hdu 5666
- HDU 5666 Segment
- hdu--5666--Segment
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- Linux上面用QCreator搭载opencv工程的创建
- [hdu 4405] Aeroplane chess [概率DP & 期望]
- JUnit教程-- 创建套件测试
- 简单算法集合
- 《挑战程序设计竞赛》164页 区域个数
- hdu 5666
- 总结SQLite不支持的SQL语法有哪些
- 初学菜单(3种)和菜单管理(菜单管理机制,添加菜单,菜单监听)
- Unicode5.1字符编码分布表——标点符号类
- PAT-B 1047. 编程团体赛
- Linux网络管理
- POJ 1862 Stripies(G++与C++的抉择)
- 现在市面上网络监控系统分析
- ASP.NET服务器端控件RadioButtonList,DropDownList,CheckBoxList的取值、赋值用法