[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. JS 事件绑定、事件监听、事件委托详细介绍

    原:http://www.jb51.net/article/93752.htm 在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代 ...

  2. SAP月末结账年结流程

    SAP月末结账年结流程 SAP月末结账操作指南 流程描述:FI期末结帐流程包括应收帐款.应付帐款.固定资产.管理会计结帐.总帐结帐等一系列结帐过程,对于年结增加了余额结转及固定资产年度改变等动作,通过 ...

  3. Node.js代码模块化

    js语言发展到现在逐渐的像后端语言来,学习了一些后端语言的特性,这里主要讲述的是js语言的模块化管理 首先新建一个js文件 'use strict'; var s = 'Hello'; functio ...

  4. js控制的选项卡

    选项卡在各种网站网页上是随处可见的一种形式 今天就简单的讲解下 选项卡得制作方法 首先:思路: 我们做一个四个控制的选项卡  则应该有四个小的DIV 外边包裹着一个大的div 用四个input按钮来控 ...

  5. 理解git的分支原理,更好地使用git

    文章内容转载于git-scm. 部分内容涉嫌枯燥 一.git分支概念 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控 ...

  6. @Value("#{}")与@Value("${}")的区别以及用法

    package com.ieou.capsule_basic_info.util; import org.springframework.beans.factory.annotation.Value; ...

  7. 关于System.in如何执行的问题

    import java.io.IOException; public class Test1 { public static void main(String[] args) throws IOExc ...

  8. python中常用的模块二

    一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可 ...

  9. 用C#二次封装虹软arcface

    相信很多用C#又想用虹软的SDK的童鞋要花很多心思去研究怎么转换,所以写了一篇文章和一个demo方便用C#的童鞋方便调用虹软的接口,文章的地址是:https://blog.xgcos.com/show ...

  10. Codeforces 377A - Maze

    A. Maze 题目链接:http://codeforces.com/contest/377/problem/A time limit per test 2 seconds memory limit ...