从【BZOJ4173】谈做题技巧
题目描述
-------------------------------------------------------------------------------------------------------------------------------------------
正常题解:
特别的做题技巧
我们一上来,先写一个打表程序,打出一系列n,m对应的答案。
我们发现,对于素数n,m 他们的答案总是(n-1)*n*(m-1)*m。
一开始,我们先稳了一个素数的情况,起码也得有20分吧!心态放好!
然后,我们来思考为什么素数有这样的性质:
如果你对欧拉函数有足够的了解的话,你会知道,对于一个素数P 他的欧拉函数是P-1
那么,刚才的M-1 N-1 实际上是欧拉函数,那么,对于和数是否也有这样的性质呢?
答案是显然的。
这就是计算机的优点,虽然无法给出正确证明,但是可以通过大量实验数据,得到一个令人信服的结论。
做题总耗时: 打表程序——2分钟,找规律——3分钟,写正解程序——5分钟。
一道难题就被我们10分钟干掉了。
信息学竞赛不应该是人类的拼命推理,推公式,而是人脑与计算机的完美结合。
附上正解代码
#include<iostream>
#include<cstdio>
#define N 40000
using namespace std;
const unsigned long long int mod = ;
int n,m;
unsigned long long phi(unsigned long long x)
{
unsigned long long int res = x,a = x;
for(unsigned long long int i=;i*i<=a;i++)
{
if(a%i==)
{
res = res/i*(i-);
while(a%i==)a/=i;
}
}
if(a>)res =res/a*(a-);
return res%mod;
}
unsigned long long a,b;
int main()
{
scanf("%llu%llu",&a,&b);
unsigned long long p1 = phi(a),p2=phi(b),ans=;
ans=p1%mod*p2%mod*(a%mod)%mod*(b%mod)%mod;
printf("%llu",ans);
}
从【BZOJ4173】谈做题技巧的更多相关文章
- NOIP初赛:完善程序做题技巧
最近写的文章好像还很多的.那么今天我们来讨论NOIP初赛的题型--完善程序.完善程序相对是比较难的题目了.全卷100分,完善程序占了大概26分,占比非常大.如果和英语考试试卷做比较,相当于首字母填空( ...
- acm的做题技巧
1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好不要用cin.cout,防止超时. (或加上 1 ios ...
- ACM 做题过程中的一些小技巧。
ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...
- SAM 做题笔记(各种技巧,持续更新,SA)
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模 ...
- [日记&做题记录]-Noip2016提高组复赛 倒数十天
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...
- 【做题】BZOJ2342 双倍回文——马拉车&并查集
题意:有一个长度为\(n\)的字符串,求它最长的子串\(s\)满足\(s\)是长度为4的倍数的回文串,且它的前半部分和后半部分都是回文串. \(n \leq 5 \times 10^5\) 首先,显然 ...
- noip做题记录+挑战一句话题解?
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
- LCT做题笔记
最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往 ...
- [BJOI2016]水晶 做题心得
[BJOI2016]水晶 做题心得 这是一个写了我两小时的傻逼题.写这个题浪费了一堆时间后,我才意识到我码力又不行了.于是整理起了实现技巧,开始练码力. 思路 不难.首先把 \((x,y,z)\) 变 ...
随机推荐
- libcurl使用心得-包括下载文件不存在处理相关(转)
libcurl使用心得 Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持 ...
- Grapher - Change how graphs look
[Change how graphs look] Pan and zoom the graph 工具条如下: Change the type of graph 开场的Graph Template在Me ...
- mysql常用语句及关键字
一.常用sql语句 1.创建数据库userCREATE DATABASE user; 2.删除数据库userDROP DATABASE user; 3.使用数据库userUSE user;显示数据库 ...
- 02-SSH综合案例:需求分析(后台)
1.1.7 用户模块:(后台) 不用添加了,添加的话在前台就注册了. 查询所有用户: 修改用户信息: 删除用户信息: 1.1.8 一级分类:(后台) 主要都还是增删改查的操作 查询所有一级分类: ...
- unity3d 移动与旋转 1
移动与旋转 1 player角色随asdw按键左右上下移动并旋转 public void Update() { // Reset player rotation to look in the same ...
- 8-cin cout PK scanf printf(速度快慢问题对比)
我们在c++ 中使用cin cout很方便但速度很慢,导致有些题目用cin就超时而用scanf则就ac了,那到底改用谁? cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说 ...
- rabbitmq 和Spring 集成 实现(一)
1.增加pom.xml依赖 <!--rabbitmq消息队列依赖架包--> <dependency> <groupId>org.springframework.am ...
- python 探测网站目录的GUI程序-乾颐堂
1.pyqt4写的界面 find_ui.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- 名字也挺重要---Webservice
整了几个WebService 方法的返回类型叫GetResponse ,GetDataResponse结果老报错,要加啥元素,加了也报错,后来把Get改成Retrive,运行就正常了,看来Get抢手 ...
- MySql MyBatis 自动生成主键返回null
<insert id="insert" parameterType="cn.zno.smse.pojo.UserScan" useGeneratedKey ...