[contest 781] 9.6 - XJOI

czx的温暖题。。。

T1 军训

BShAAQpQgAIUoECVEmABUKVON5OlAAUoQAEKUIAC

INGlcIgAAAABJRU5ErkJggg==

那这非常水呀。。。

就是求一下(n^2-m)/n^2。

先把n,m读进来模一下然后逆元一下就好了。

code:

 #include<cstdio>
 #include<cstring>
 #include<algorithm>
 #include<iostream>
 #define LL long long
 using namespace std;
 ;
 LL n,m,ans;
 char ch;
 bool fl;
 inline LL Q_pow(LL b,LL p){
     ;
     ) return b%TT;
     LL t=Q_pow(b,p>>); t=(t*t)%TT;
     >) return (t*b)%TT;
     else return t;
 }
 int main(){
     n=m=fl=;
     while (scanf("%c",&ch)!=EOF){
         ; continue;}
         ') break;
         ) n=(n*+ch-')%TT;
         +ch-')%TT;
     }
     ans=(((n*n-m)%TT)*Q_pow((n*n)%TT,TT-))%TT;
     printf("%lld",ans%TT);
     ;
 }

T2 萌萌哒的小XC

6ZbIjIKAoKAICAICAKCgCAgCAgCgkC7BH5nHLDdc

S6enmNp5rCjxoyAgCAgClU5AOPlKRyoECgKCgCAg

主要要想到把原图中联通的且同色的构成一个联通块,然后随便抓一个节点,必定是隔一层节点换一种颜色。

事实上,我们只需要找出新图当中的(最长链的长度+1)/2就好了。

因为在一条颜色相间的链上面,需要(长度+1)/2次操作使其变成同色。

而我们知道,如果我们把原树看成无根树,最长链旁延伸出很多子树,但是由于最长链不通过这颗子树,所以这颗子树的操作次数一定小于在最长链上的操作次数。

code:

 #include<cstdio>
 #include<cstring>
 #include<algorithm>
 using namespace std;
 ;
 char cha;
 int n,a[N],fa[N],ret,ans,Mx,Mxi,sta;
 ],son[N*],lnk[N];
 ],sonn[N*],lnkn[N];
 bool vis[N];
 inline int read(){
     ; char ch=getchar();
     ') ch=getchar();
     +ch-',ch=getchar();
     return x;
 }
 void add(int x,int y){nxt[++tot]=lnk[x],son[tot]=y,lnk[x]=tot;}
 void addn(int x,int y){nxtn[++totn]=lnkn[x],sonn[totn]=y,lnkn[x]=totn;}
 int get(int x){return fa[x]==x?x:fa[x]=get(fa[x]);}
 void DFS(int x,int y,int d){
     if (Mx<d) Mx=d,Mxi=x;
     for (int j=lnkn[x]; j; j=nxtn[j])
         );
 }
 int main(){
     n=read(),tot=,ans=0x3f3f3f3f;
     ; i<=n; i++){
         while (scanf("%c",&cha))
             if (cha=='B'||cha=='R') break;
         a[i]=(cha=='R');
     }
     ; i<=n; i++) fa[i]=i;
     ; i<n; i++){
         int x=read(),y=read(),fx=get(x),fy=get(y);
         add(x,y),add(y,x);
         if (a[x]==a[y]) fa[fx]=fy;
     }
     ; i<=n; i++)
         for (int j=lnk[i]; j; j=nxt[j]){
             int x=get(i),y=get(son[j]);
             if (x!=y) addn(x,y);
         }
     ; i<=n; i++) get(i);
     memset(vis,,sizeof vis);
     ; i<=n; i++) vis[;
     sta=),Mx=;
     DFS(sta,,);
     DFS(Mxi,,);
     printf()>>);
     ;
 }

T3 真假雪菜

wArA9yO92c0VwAAAABJRU5ErkJggg==

X1VXFxsSoqKsZg7+xyOAJxcXFyfMaZEEBgdAI8Z3

3b6NhX3nqRH+6RWOCMb+PocEA8zxGiItpYqr4b6I

主思想当然是贪心,主要还是围绕着操作顺序一定是1,2,3。然后有些细节还不会证明。所以暂时先搁着。

难度不高,还是挺接近NOIP难度的。

[contest 781] 9.6的更多相关文章

  1. Codeforces 781D Axel and Marston in Bitland

    题目链接:http://codeforces.com/contest/781/problem/D ${F[i][j][k][0,1]}$表示是否存在从${i-->j}$的路径走了${2^{k}} ...

  2. Codeforces 781B. Innokenty and a Football League

    题目链接:http://codeforces.com/contest/781/problem/B 去tmd 2-SAT 直接贪心就可以过去了,优先选择第二种情况. 然而....可以被叉掉(数据水了) ...

  3. bitset在acm中的应用

    ps:最近碰到一些用bitset优化常数的题目,以前也有接触但是都没有记下来,所以来写一篇博文 记录以后碰到的类似的题目. 应用一: 优化boolean multiplication 在做dp的时候, ...

  4. bitset 位运算

    1. 判断一个数是否是2的方幂n > 0 && ((n & (n - 1)) == 0 ) 解释((n & (n-1)) == 0): 如果A&B==0, ...

  5. 2016 Multi-University Training Contest 6

    5/12 2016 Multi-University Training Contest 6 官方题解 打表找规律/推公式 A A Boring Question(BH) 题意: ,意思就是在[0,n] ...

  6. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  7. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  8. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  9. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

随机推荐

  1. python FAE

    1.python 时间戳用localtime转换时间戳较大时报错 ValueError: timestamp out of range for platform time_t 2.python面向对象 ...

  2. java web 工程更改名字

    如图: 将工程名字struts2Project02更改为struts2Project03,步骤如下: 1. 右键工程名字,选中properties,如图 2.更改项目名字 3.第2步已经真正把项目名字 ...

  3. L1-048. 矩阵A乘以B

    水题不多说,直接上代码:#include<stdio.h> using namespace std; int main() { ][]; ][]; int m,n; int x,y; sc ...

  4. hive表的存储路径查找以及表的大小

    1.在hive中知道一个表的存储路径可以通过hive命令   desc formatted table_name 显示表的详细信息; 2.然后找到该表的存储路径 "Location:    ...

  5. R语言 set.seed()函数

    看了几个帖子,说得不是特别清楚,特重新描述如下: set.seed()函数是为了保证你随机生成的随机数前后一致,看效果 首先,不设置该种子函数. x=rnorm(10) plot(x)绘出的图如下: ...

  6. MYSQL的常用函数(字符串函数)

    ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(se ...

  7. 最新省市区数据,sql插入语句

    --省数据 insert into Province (ProvinceName)  values('北京市'); insert into Province (ProvinceName)  value ...

  8. java高并发解决方案

    高并发的解决方法有两种: 1.使用缓存 2.使用生成静态页面: (代码质量,不要性能低下的sql和代码.有的一条sql搞定的事,有人用了多个循环才能搞定.取决于程序员的经验!(还有就是从最基础的地方优 ...

  9. alfred

    1.alfred怎么设置默认的搜索项. https://www.zhihu.com/question/20205127 2.

  10. JS中如何生成全局变量

    JS中如何生成全局变量 一.总结 一句话总结:在函数内部,一般用var声明的为局部变量,没用var声明的一般为全局变量 在函数内没用var声明的一般为全局变量 1.js中的函数中的this指向的是谁? ...