【ContestHunter】【弱省胡策】【Round3】(C)
容斥原理+Fib
Orz HE的神犇们
蒟蒻只能改出来第三题……实在太弱
官方题解:http://pan.baidu.com/s/1o6MdtQq
fib的神奇性质……还有解密a[i]的过程……这里就不细说了……
主要学习了一下容斥>_<(然而还是没什么感觉?)
写在代码注释里了……
- //Round3 C
- #include<cstdio>
- #include<set>
- #include<cstring>
- #include<cstdlib>
- #include<iostream>
- #include<algorithm>
- #define rep(i,n) for(int i=0;i<n;++i)
- #define F(i,j,n) for(int i=j;i<=n;++i)
- #define D(i,j,n) for(int i=j;i>=n;--i)
- #define pb push_back
- using namespace std;
- typedef long long LL;
- inline int getint(){
- int r=,v=; char ch=getchar();
- for(;!isdigit(ch);ch=getchar()) if (ch=='-') r=-;
- for(; isdigit(ch);ch=getchar()) v=v*-''+ch;
- return r*v;
- }
- const int N=,M=,P=1e9+;
- /*******************template********************/
- LL f[M],a[N],s[M],g[M];
- int n,w[M];
- inline LL gcd(LL a,LL b){return b ? gcd(b,a%b) : a;}
- int main(){
- #ifndef ONLINE_JUDGE
- freopen("C.in","r",stdin);
- freopen("C.out","w",stdout);
- #endif
- n=getint(); LL mx=;
- F(i,,n){
- int c=getint(),A,B;
- if (c){
- A=getint(),B=getint();
- a[i]=(A+B-gcd(A,B));
- }else a[i]=getint();
- w[a[i]]++;
- mx=max(mx,a[i]);
- }
- F(i,,mx)
- for(int j=i;j<=mx;j+=i)
- s[i]+=w[j];//s[i]表示i的倍数一共出现了多少次(约数相关)
- f[]=f[]=;
- F(i,,mx){
- f[i]=f[i-]+f[i-];
- if (f[i]>=P) f[i]-=P;
- }
- LL ans=;
- F(i,,mx) g[i]=s[i]*(s[i]-)/%P,ans+=f[i-]*w[i]%P;
- //g[i]表示有多少对a[i]和a[j]之间的gcd包含i这个因子
- D(i,mx,)
- for(int j=i+i;j<=mx;j+=i)
- g[i]-=g[j];
- //容斥的过程
- //x作为gcd出现的次数=x作为公约数出现的次数-x的倍数作为gcd出现的次数
- F(i,,mx) ans+=g[i]*f[i-]%P;
- printf("%lld\n",(ans%P+P)%P);
- return ;
- }
【ContestHunter】【弱省胡策】【Round3】(C)的更多相关文章
- 弱省胡策 Magic
弱省胡策 Magic 求\(n\)个点\(n\)的条边的简单联通图的个数. 毒瘤,还要写高精. 我们枚举环的大小\(k\),\(\displaystyle ans=\sum_{k=3}^nC_n^k ...
- 【弱省胡策】Round #5 Count
[弱省胡策]Round #5 Count 太神仙了. \(DP\)做法 设\(f_{n,m,d,k}\)表示\(n*m\)的矩阵,填入第\(k\)个颜色,并且第\(k\)个颜色最少的一列上有\(d\) ...
- luoguP3769 [CH弱省胡策R2]TATT
luoguP3769 [CH弱省胡策R2]TATT PS:做这题前先切掉 P4148简单题,对于本人这样的juruo更助于理解,当然dalao就当练练手吧 题目大意: 现在有n个四维空间中的点,请求出 ...
- 【ContestHunter】【弱省胡策】【Round0】(A)&【Round1】(B)
DP+容斥原理or补集转化?/KD-Tree 唔……突然发现最早打的两场(打的最烂的两场)没有写记录……(太烂所以不忍记录了吗... 还是把搞出来了的两道题记录一下吧= =勉强算弥补一下缺憾…… Ro ...
- 【ContestHunter】【弱省胡策】【Round2】
官方题解:http://wyfcyx.is-programmer.com/posts/95490.html A 目前只会30分的暴力……DP好像很神的样子0.0(听说可以多次随机强行算? //Roun ...
- 【ContestHunter】【弱省胡策】【Round8】
平衡树维护凸壳/三角函数+递推+线段树 官方题解:http://pan.baidu.com/s/1sjQbY8H 洛阳城里春光好 题目大意:(其实出题人已经写的很简短了……直接copy的-_-.sor ...
- 【ContestHunter】【弱省胡策】【Round7】
Prufer序列+高精度+组合数学/DP+可持久化线段树 Magic 利用Prufer序列,我们考虑序列中每个点是第几个插进去的,再考虑环的连接方式,我们有$$ans=\sum_{K=3}^n N^{ ...
- 【ContestHunter】【弱省胡策】【Round6】
KMP/DP+树链剖分+线段树/暴力 今天考的真是……大起大落…… String QwQ题意理解又出错了……(还是说一开始理解了,后来自己又忘了为什么是这样了?) 反正最后的结果就是……我当成:后面每 ...
- 【ContestHunter】【弱省胡策】【Round5】
反演+FFT+构造+DP 写了这么多tag,其实我一个也不会 A 第一题是反演……数据范围10W,看着就有种要用FFT等神奇算法的感觉……然而蒟蒻并不会推公式,只好写了20+10分的暴力,然而特判30 ...
随机推荐
- 命名空间中的“MvcBuildViews”。 无效
VS2013转VS2010时出现如下错误: 错误提示: 警告 1 元素 命名空间“http://schemas.microsoft.com/developer/msbuild/2003”中的“Prop ...
- 升级Mac X Mavericks MacMiv 无法启动
今天把Mac 系统升级到了 Mac X Mavericks ,确实有不少的惊喜.虽然体验不出Mac X Mavericks拥有更强的性能/更好的电池表现,但是新版的Safari浏览器的提供了更方便的主 ...
- 简单Spinner
mainActivity package com.zzw.spinner; import android.app.Activity; import android.content.Context; i ...
- android中常用菜单(menu)的基本知识
(一)选项菜单 1.简单的创建菜单: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMe ...
- spark概论,补充
基本概念 RDD spark最大的亮点是提出RDD(Resilient Distributed Dataset)的概念,也就是可伸缩的分布式数据集合,本身只读,可恢复.spark本身不做物理储存,通过 ...
- 修改后的SQL分页存储过程,利用2分法,支持排序
/****** Object: StoredProcedure [dbo].[sys_Page_v3] Script Date: 08/13/2014 09:32:28 ******/ SET ANS ...
- 转换framebuffer实现安卓截图
编译出了RECOVERY肯定需要截图分享的啦,可是又不能通过DDMS截图~ 那就只好通过提取手机的fb0文件来实现截图. 首先你需要ADB~ 嗯,这个都没有的话你就别看下去了... 还需要ffmpeg ...
- openSUSE13.1无法打开Yast的安装/移除软件管理软件的解决办法·(未解决,临时方法) 收获:有问题,读日志
看了日志发现错误在于Ruby,新的YaST是基于Ruby的,而我用rvm安了新版本Ruby,日志里这么出错: 2014-08-22 20:20:57 <3> linux-vfpp.site ...
- 微信分享朋友链接显示js代码
通常自己做的一个页面想通过微信像朋友分享时,展示的标题和描述都是不是自己想要的,自己查了一些资料,原来是通过js来进行控制 展示效果如下: 标题.描述.还有分享的图片都是有js来控制的. js代码如下 ...
- Cygwin ssh服务配置 (SecureCRT连接Cygwin配置)
1.运行ssh-host-config 这里需要注意的是标红部分,输入的用户名或密码要符合计算机的用户名或密码策略(尤其是公司有权限限制的电脑). $ ssh-host-config *** Quer ...