BestCoder Round #80 1002
HDU 5666 Segment
题意:给你条斜率为-1,常数项为q(q为质数)的直线,连接原点与直线上整数格点,问你在有多少个格点在形成的无数个三角形内,而不在线段上,结果对P取模。
思路:bestcoder题解上有思路,一条以(0,0)为起点,(x,y)为终点的线段上格点的个数(不包含端点时),一定是gcd(x,y)−1,题目由于p为质数,所以所有线段上都没有格点,需要注意的是p为质数,情况就很少了,然后就是数据太大的问题,改一改快速幂就可以了。
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int maxn = 100005;
long long p,q;
long long sum;
long long powf(long long a, long long b)
{long long r = 0, base = a;while(b){if(b&1)r = (r + base) % q;base = (base + base) % q;b >>= 1;}return r;
}
int main()
{int t;cin >> t;while(t--){cin >> p >> q;if(p&1) sum = powf(p/2, p-2);else sum = powf(p/2-1, p-1);cout << sum << endl;}return 0;
}
转载于:https://www.cnblogs.com/MIKORU/p/5796743.html
BestCoder Round #80 1002相关推荐
- 矩阵快速幂---BestCoder Round#8 1002
当要求递推数列的第n项且n很大时,怎么快速求得第n项呢? 可以用矩阵快速幂来加速计算. 我们可以用矩阵来表示数列递推公式 比如fibonacci数列 可以表示为 [f(n) f(n-1)] = [ ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 1 /* 2 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 3 当然有可能两个数和超过p,那么an ...
- hdu 4932 BestCoder Round #4 1002
这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...
- HDU5142 NPY and arithmetic progression BestCoder Round #23 1002
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5143 解题思路:BestCoder官方题解: 可以发现等差数列只有(123,234,1234和长度&g ...
- BestCoder Round #86 1002 HDU 5805 ——NanoApe Loves Sequence
题意 给定一个数列,随机从该数列里删除一个数,求该数列的的相邻之间的绝对值的最大值的和. 思路 两个数列来分别维护i位前面的相邻的绝对值的最大以及i后面的最大,枚举每一个可能删除的数,然后分别从左右和 ...
- hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956 Poor Hanamichi Time Limit: 2000/1000 MS (Java/Ot ...
- hdu4585 amp; BestCoder Round #1 项目管理(vector应用)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4858 项目管理 Time Limit: 2000/1000 MS (Java/Others) M ...
- hdu4932 Miaomiao#39;s Geometry (BestCoder Round #4 枚举)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4932 Miaomiao's Geometry Time Limit: 2000/1000 MS (Ja ...
- 贪心 BestCoder Round #39 1001 Delete
题目传送门 1 /* 2 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 3 否则再在tot里减去多余的即为答案 4 用set容器也可以做,思 ...
最新文章
- 【Git笔记3】关于撤销、删除、恢复的那些事儿
- 记住北京历史上的灾难
- ie8 ajax访问不了https,ie8不支持https协议的api接口么
- CentOS7 下安装 Redis
- go http 并发数限制_618临近,Redis优化高并发下的抢枪抢买买买性能
- Python数据结构与算法(2.2)——顺序表
- hive 列表去重_Hive企业级调优
- 视频教程-VB程序设计教程:从入门到精通-计算机等级考试
- 技嘉h310主板前置音频没声音_急死人!新装机箱前置音频没声音?不要急!一招轻松解决。...
- php ip 库,php IP获取城市API(纯真IP数据库)
- 微波雷达感应模块,智能马桶传感方案,智能化生活
- 小和尚打水问题_操作系统进程同步问题解析(哲学家问题、生产消费问题、小和尚打水问题等大量例子)...
- 用之前使用正常的keil工程调试程序时,一直卡在 0x00000000 的解决方案
- 3.4 实时进程的调度
- 如何解决Word只能用安全模式打开
- winehq-stable-5.0 Download For Mac 在Mac上运行exe文件
- 第十七部分 Istio控制 Egress 流量
- 使用Python按时间顺序批量重命名文件
- WDK学习笔记_区块链项目实现_MAE
- [转载]LFSR的工作原理以及LFSR在CRC上的应用
热门文章
- 【数据结构】队列之链队列
- nginx禁止未绑定域名访问返回444
- ​​​​​​​2016最新CocoaPods安装与使用
- redis多端口启动
- MPLS inter-as ××× Option3:multihop mp-ebgp
- 用 C 语言开发一门编程语言 — 基于 Lambda 表达式的函数设计
- Octavia 创建 loadbalancer 的实现与分析
- OpenStack 实现技术分解 (5) 应用开发 — 使用 OpenStackClients 进行二次开发
- 作业03:格式化输出
- 第二十二章 SHELL脚本-CENTOS7.5知识