从【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)\) 变 ...
随机推荐
- proxmox 去除订阅提示
去掉登陆时是否订阅通知修改文件 /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 搜索关键字 “You do not have ...
- 前端开发之jQuery属性和文档操作
主要内容: 1.jQuery属性操作 2.jQuery文档操作 一.jQuery属性操作 1.什么是jQuery的属性操作? jQuery的属性操作模块包括四个部分:html属性操作,dom属性操作, ...
- 模拟在table中移动鼠标,高亮显示鼠标所在行,固定表头
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...
- Devexpress VCL Build v2013 vol 13.2.2 发布
devexpress 2013 的第二个大版本出来了,一如既往, 基本上还是一个大补丁包.各位看官,自己看. What's New in 13.2.2 (VCL Product Line) New ...
- Redis数据结构(五)
存储set (1)和List类型不同的是,Set集合中不允许出现重复的元素 (2)set可包含的最大元素数量是4294967295 存储set常用命令: (1)添加/删除元素 添加 sadd myli ...
- UVa 12093 Protecting Zonk (树形DP)
题意:给定一个有n个节点的无根树,有两种装置A和B,每种都有无限多个.在某个节点X使用A装置需要C1的花费,并且此时与节点X相连的边都被覆盖.在某个节点X使用B装置需要C2的花费,并且此时与节点X相连 ...
- Linux 基础教程 36-查看系统性能
uptime uptime命令功能比较简单,主要功能如下所示: 查看服务器的开机时长 查看CPU负载 基本用法 uptime 用法示例 [root@localhost ~]# uptime 1 ...
- Oracle Submit Request - 请求的调用方法: FND_REQUEST.SUBMIT_REQUEST
废话: 有一段时间没搞过开发了,做项目又要重新找回点开发的记忆.重新拾回一点点零碎. 跑多了产线,配置的一些参数也忘记得差不多了,长时间没动就是易遗忘,找点资料做个笔记就是时间保镖. 正题: FN ...
- vim出现“E212: Can't open file for writing”的处理办法
在使用vim 对文件或配置进行编辑的时候,在保存时发现当前用户没有写权限.又不想放弃当前编辑的内容,怎么办呢? 来自stackoverflow “For some reason the file yo ...
- 关于如何参与到开源项目中《How To Succeed In Open Source ( In Ways You Haven't Considered Yet )》
转自:http://gaslight.co/blog/how-to-succeed-in-open-source-in-ways-you-havent-considered-yet It’s Easy ...