BZOJ 3288 Mato矩阵 解题报告
这个题好神呀。。Orz taorunz
有一个结论,这个结论感觉很优美:
$$ans = \prod_{i=1}^{n}\varphi(i)$$
至于为什么呢,大概是这样子的:
对于每个数字 $x$,第 $x$ 行有 $x - \varphi(x)$ 个数字不为 $1$,则说明这一行要被消 $x - \varphi(x)$ 次(别忘了每一行都会被 $1$ 给消一次),每次消元都会令 $A[x][x]$ 减一,所以 $A[x][x]$ 最后会变成 $\varphi(x)$,所以答案就是这个啦。
时间空间复杂度均为 $O(n)$。
#include <cstdio>
typedef long long LL;
#define N 1000000 + 5
#define M 100000 + 5
#define Mod 1000000007 int n, ans = , Phi[N], q[M]; int main()
{
scanf("%d", &n);
for (int i = ; i <= n; i ++)
{
if (!Phi[i])
{
Phi[i] = i - ;
q[++ q[]] = i;
}
for (int j = ; j <= q[] && i * q[j] <= n; j ++)
{
if (i % q[j] == )
{
Phi[i * q[j]] = Phi[i] * q[j];
break ;
}
Phi[i * q[j]] = Phi[i] * Phi[q[j]];
}
ans = (LL) ans * Phi[i] % Mod;
}
printf("%d\n", ans);
return ;
}
3288_Gromah
BZOJ 3288 Mato矩阵 解题报告的更多相关文章
- BZOJ 3288: Mato矩阵
Description 一个 \(n*n\) 行列式,\((i,j)=gcd(i,j)\) Sol 线性筛. 这道题神奇的筛出来 \(phi\) ... 打表可以发现,一个数会被他所有的因子减掉因子的 ...
- bzoj-3288 3288: Mato矩阵(数论)
题目链接: 3288: Mato矩阵 Time Limit: 10 Sec Memory Limit: 128 MB Description Mato同学最近正在研究一种矩阵,这种矩阵有n行n列第i ...
- 【剑指Offer】顺时针打印矩阵 解题报告(Python)
[剑指Offer]顺时针打印矩阵 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...
- BZOJ 4619 Swap Space 解题报告
今天是因为David Lee正好讲这个题的类似题,我才做了一下. 本题是world final 2016的一道水…… 题目地址如下 http://www.lydsy.com/JudgeOnline/p ...
- BZOJ 2839: 集合计数 解题报告
BZOJ 2839: 集合计数 Description 一个有\(N\)个元素的集合有\(2^N\)个不同子集(包含空集),现在要在这\(2^N\)个集合中取出若干集合(至少一个),使得 它们的交集的 ...
- 「SCOI2015」小凸玩矩阵 解题报告
「SCOI2015」小凸玩矩阵 我好沙茶啊 把点当边连接行和列,在外面二分答案跑图的匹配就行了 我最开始二分方向搞反了,样例没过. 脑袋一抽,这绝壁要费用流,连忙打了个KM 然后wa了,一想这个不是完 ...
- BZOJ 1367 [Baltic2004]sequence 解题报告
BZOJ 1367 [Baltic2004]sequence Description 给定一个序列\(t_1,t_2,\dots,t_N\),求一个递增序列\(z_1<z_2<\dots& ...
- BZOJ 球形空间产生器 解题报告(高斯消元)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1013 1013: [JSOI2008]球形空间产生器sphere 有一个球形空间产生器能 ...
- BZOJ 1044 木棍分割 解题报告(二分+DP)
来到机房刷了一道水(bian’tai)题.题目思想非常简单易懂(我的做法实际上参考了Evensgn 范学长,在此多谢范学长了) 题目摆上: 1044: [HAOI2008]木棍分割 Time Limi ...
随机推荐
- 使用spring+mybatis+atomikos+tomcat构建分布式事务
本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...
- document.ready和onload的区别
转自:http://holysonll.blog.163.com/blog/static/2141390932013411112823855/ document.ready和onload的区别——Ja ...
- FindControl 无法找到控件问题解决方案
若用 string cdept =((HtmlInputText)FindControl("dept0" + i.ToString())).Value; 提示结果为空值,即无法找到 ...
- MYfirst
终于有了自己的博客了,啊哈哈!
- 返回页面,主页面不刷新window.history.go(-1),主页面刷新window.location.go(-1)
返回上一页,不刷新 window.history.go(-1) 返回上一页,刷新 window.location.go(-1)
- Eclipse插件checkstyle 代码风格的检查
插件checkstyle 的安装 方法一: 1.Eclipse中,选择Help->Software Updates->Find and Install 2.选择 Search for ...
- Js 循环结构
循环结构: for while do….while for循环 for(变量初始化;条件表达式;变量更新){ //循环体 } 说明: 第一步:变量初始化 只执行一次 第二步:判断表达式是否成立 成立则 ...
- 关于JFinal拦截器的理解
这是波总的亲自总结,记录一下: 1:拦截器可以用在两个层面,一个是"控制层",另一个是"业务层",其中"业务层"是一种狭义的说法,更加合理的 ...
- host文件的作用和介绍
在Window系统中有个Hosts文件(没有后缀名)在Windows98系统下该文件在Windows目录,在Windows2000/XP系统中位于C:\Winnt\System32\Drivers\E ...
- HDU1857题解(逆向思维trie)
题目link:http://acm.hdu.edu.cn/showproblem.php?pid=1857 先简述一下题目: 有一个RXC的字母矩形,R,C在500内,要匹配m个单词,m在100000 ...