T^T Saffah大神照样刷我这样诚心诚意想做一套NOIP模拟题的蒟蒻.

第一题 九九归一

好diao的名字...

题意就是给定一队$n,q$,求在模$n$意义下一个数$x$自乘的循环节长度.

当$x=0$时候输出$0$是吧...

.................................................实在是太弱了....................................................

连个思路都没有.....

再看一遍题目

萌蛋在练习模n意义下的乘法时发现,总有一些数,在自乘若干次以后,会变成1。例如n=7,那么5×5 mod 7=4,4×5 mod 7=6,6×5 mod 7=2,2×5 mod 7=3,3×5 mod 7=1。如果继续乘下去,就会陷入循环当中。萌蛋还发现,这个循环的长度经常会是φ(n),即小于n且与n互质的正整数的个数。例如,φ(7)=6,而上述循环的长度也是6,因为5,4,6,2,3,1共有6个数。再如n=6,那么5×5 mod 6=1。这个循环的长度很短,只有2,而恰好φ(6)=2。然而,对于某些情况,虽然循环的长度可以是φ(n),但存在比φ(n)更小的长度:例如n=7,而2×2 mod 7=4,4×2 mod 7=1,循环的长度只有3。当然,6也可以是一个循环的长度。假设已知了n,我们称数a神奇的,当且仅当关于数a的循环长度可以是φ(n),而且不存在比φ(n)更小长度的循环。例如对于n=7,5是神奇的,而2不是神奇的。现在给出n和q次询问,每次询问给出a,问a是否是神奇的。

这个循环长度为φ(n)的条件...既然$x^{φ\left( n\right)}\equiv 1 \pmod{n}$,看起来很像欧拉定理...大声告诉我是不是!!!

光知道这个有个P用...真是书到用时方恨少...

还是等Saffah大神的官方题解吧

第二题

似乎有种会做了的感觉...

对于每个节点,将它的每子树节点的w值的和一乘完事...

好吧没时间了.

#include <cstdio>
#define MOD 1000000007
long long fat[200000],w[200000],f[200000],sub[200000],totw[200000],n,p,i,sum;
long long q[200000],qh,qt;
int main(){
scanf("%lld %lld",&n,w+1);
for(i=2;i<=n;++i){
scanf("%lld %lld",fat+i,w+i);
++sub[fat[i]];
}
for(i=1;i<=n;++i){
f[i]=0;
if(!sub[i]){
q[qt++]=i;
totw[i]=0;
f[i]=0;
}
}
while(qh!=qt){
i=q[qh++];
f[i]+=(((w[i]*w[i])%MOD)*(w[i]+totw[i]*2))%MOD;
totw[i]+=w[i];
sum=(sum+f[i])%MOD;
f[fat[i]]+=totw[i]*totw[fat[i]]*w[fat[i]]*2;
totw[fat[i]]+=totw[i];
f[fat[i]]%=MOD;
--sub[fat[i]];
if(!sub[fat[i]]) q[qt++]=fat[i];
}
printf("%lld\n", sum);
return 0;
}

-----UPDATE: 似乎没有Mod到位...改一下-----

#include <cstdio>
#include <cstring>
#define MOD 1000000007
long long fat[200000],w[200000],f[200000],sub[200000],totw[200000],n,p,i,sum;
long long q[200000],qh,qt;
int main(int argc,char const *argv[]){
scanf("%lld %lld",&n,w+1);
for(i=2;i<=n;++i){
scanf("%lld %lld",fat+i,w+i);
++sub[fat[i]];
}
for(i=1;i<=n;++i){
f[i]=0;
if(!sub[i]){
q[qt++]=i;
totw[i]=0;
f[i]=0;
}
}
while(qh!=qt){
i=q[qh++];
f[i]+=(((w[i]*w[i])%MOD)*((w[i]+totw[i]*2)%MOD))%MOD;
totw[i]+=w[i];
totw[i]%=MOD;
sum=(sum+f[i])%MOD;
f[fat[i]]+=(totw[i]*totw[fat[i]])%MOD*w[fat[i]]*2;
totw[fat[i]]+=totw[i];
totw[fat[i]]%=MOD;
f[fat[i]]%=MOD;
--sub[fat[i]];
if(!sub[fat[i]]) q[qt++]=fat[i];
}
printf("%lld\n", sum);
return 0;
}

这个程序是AC的.

CH round #55 Streaming #6的更多相关文章

  1. CH Round #55 - Streaming #6 (NOIP模拟赛day2)解题报告

    T1九九归一 描述 萌蛋在练习模n意义下的乘法时发现,总有一些数,在自乘若干次以后,会变成1.例如n=7,那么5×5 mod 7=4,4×5 mod 7=6,6×5 mod 7=2,2×5 mod 7 ...

  2. CH Round #55 - Streaming #6 (NOIP模拟赛day2)

    A.九九归一 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20(NOIP模拟赛day2)/九九归一 题 ...

  3. CH Round #55 - Streaming #6 (NOIP模拟赛day2)(被虐哭)

    http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B ...

  4. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)解题报告

    最近参加了很多CH上的比赛呢~Rating--了..题目各种跪烂.各种膜拜大神OTZZZ T1珠 描述 萌蛋有n颗珠子,每一颗珠子都写有一个数字.萌蛋把它们用线串成了环.我们称一个数字串是有趣的,当且 ...

  5. CH Round #49 - Streaming #4 (NOIP模拟赛Day2)

    A.二叉树的的根 题目:http://www.contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP 模 ...

  6. CH Round #48 - Streaming #3 (NOIP模拟赛Day1)

    A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛D ...

  7. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)

    A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...

  8. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)(被虐瞎)

    http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B ...

  9. CH Round #52 还教室[线段树 方差]

    还教室 CH Round #52 - Thinking Bear #1 (NOIP模拟赛) [引子]还记得 NOIP 2012 提高组 Day2 中的借教室吗?时光飞逝,光阴荏苒,两年过去了,曾经借教 ...

随机推荐

  1. 第二十九课:javascript异步处理

    大家知道javascript中有多少方法能够实现异步处理吗?setTimeout(),setInterval()是最常用的两个.XMLHttpRequest对象,进行ajax请求时.postMessa ...

  2. 每天一个linux命令(23): chown命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  3. 软工实践练习——使用Git进行代码管理

    GITHUB上的预备活动: 注册 创建小组Organization,邀请组员进来 将代码库fork到小组Organization底下 下载并使用GIT: Git的安装 使用Git进行代码管理 1.从百 ...

  4. git for windows 入门随笔

    引言: Git 是当前最流行的集中化的版本控制程序之一(版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统),Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件 ...

  5. java多线程-CyclicBarrier

    介绍 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBa ...

  6. dell r710 服务器配置RAID5(3块硬盘做RAID5,另外再弄一块做数据冗余盘)

    本文完全转载于:http://www.jb51.net/article/53814.htm,只为做笔记使用 ①4块硬盘做成RAID5 ②3块硬盘做RAID5,一块硬盘做热备盘 这两种配置之间的区别.大 ...

  7. Asp.Net MVC 中实现跨域访问

    在ASP.Net webapi中可以使用  Microsoft.AspNet.WebApi.Cors  来实现: public static class WebApiConfig { public s ...

  8. Http状态码集合

    忘了之前在哪里收集的了,先表示感谢. 状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请 ...

  9. href的参数含有中文在IE下乱码的解决

    这是在使用kendo grid的自定义链接时遇到的一个坑,链接如下: var TempStr = "<a href='" + Url.Action("EditUse ...

  10. 【Matplotlib】 标注细节注意

    相关文档: Artists BBox 由于蓝线和红线的存在,现在刻度标注很难看清楚.我们可以使他们更大,也可以使它们的属性以便使得线呈现半透明的白色背景.这样做我们既可以看到数据也可以看到刻度标注了. ...