[contest 781] 9.6 - XJOI

czx的温暖题。。。

T1 军训

BShAAQpQgAIUoECVEmABUKVON5OlAAUoQAEKUIAC

INGlcIgAAAABJRU5ErkJggg==

那这非常水呀。。。

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

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

code:

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. #define LL long long
  6. using namespace std;
  7. ;
  8. LL n,m,ans;
  9. char ch;
  10. bool fl;
  11. inline LL Q_pow(LL b,LL p){
  12. ;
  13. ) return b%TT;
  14. LL t=Q_pow(b,p>>); t=(t*t)%TT;
  15. >) return (t*b)%TT;
  16. else return t;
  17. }
  18. int main(){
  19. n=m=fl=;
  20. while (scanf("%c",&ch)!=EOF){
  21. ; continue;}
  22. ') break;
  23. ) n=(n*+ch-')%TT;
  24. +ch-')%TT;
  25. }
  26. ans=(((n*n-m)%TT)*Q_pow((n*n)%TT,TT-))%TT;
  27. printf("%lld",ans%TT);
  28. ;
  29. }

T2 萌萌哒的小XC

6ZbIjIKAoKAICAICAKCgCAgCAgCgkC7BH5nHLDdc

S6enmNp5rCjxoyAgCAgClU5AOPlKRyoECgKCgCAg

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

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

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

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

code:

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. ;
  6. char cha;
  7. int n,a[N],fa[N],ret,ans,Mx,Mxi,sta;
  8. ],son[N*],lnk[N];
  9. ],sonn[N*],lnkn[N];
  10. bool vis[N];
  11. inline int read(){
  12. ; char ch=getchar();
  13. ') ch=getchar();
  14. +ch-',ch=getchar();
  15. return x;
  16. }
  17. void add(int x,int y){nxt[++tot]=lnk[x],son[tot]=y,lnk[x]=tot;}
  18. void addn(int x,int y){nxtn[++totn]=lnkn[x],sonn[totn]=y,lnkn[x]=totn;}
  19. int get(int x){return fa[x]==x?x:fa[x]=get(fa[x]);}
  20. void DFS(int x,int y,int d){
  21. if (Mx<d) Mx=d,Mxi=x;
  22. for (int j=lnkn[x]; j; j=nxtn[j])
  23. );
  24. }
  25. int main(){
  26. n=read(),tot=,ans=0x3f3f3f3f;
  27. ; i<=n; i++){
  28. while (scanf("%c",&cha))
  29. if (cha=='B'||cha=='R') break;
  30. a[i]=(cha=='R');
  31. }
  32. ; i<=n; i++) fa[i]=i;
  33. ; i<n; i++){
  34. int x=read(),y=read(),fx=get(x),fy=get(y);
  35. add(x,y),add(y,x);
  36. if (a[x]==a[y]) fa[fx]=fy;
  37. }
  38. ; i<=n; i++)
  39. for (int j=lnk[i]; j; j=nxt[j]){
  40. int x=get(i),y=get(son[j]);
  41. if (x!=y) addn(x,y);
  42. }
  43. ; i<=n; i++) get(i);
  44. memset(vis,,sizeof vis);
  45. ; i<=n; i++) vis[;
  46. sta=),Mx=;
  47. DFS(sta,,);
  48. DFS(Mxi,,);
  49. printf()>>);
  50. ;
  51. }

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. FICO年终完全手册

    FICO年终完全手册 一:系统增加配置部分 1,FBN1增加凭证号码范围,OBH2维护会计凭证号码到新的会计年度 2,KS13检查成本中心的有效期 3,KA23检查成本要素的有效期 4,KL03检查作 ...

  2. C#接口的作用详解

    .C#接口的作用 : C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认 ...

  3. 51nod 1405 树的距离之和(dfs)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405 题意: 思路: 先求出所有点到根节点的距离,需要维护每棵子树的大小 ...

  4. BZOJ 1497: [NOI2006]最大获利(最大权闭合图)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1497 题意: 思路: 论文题,只要看过论文的话就是小菜一碟啦~ 每个用户群i作为一个结点分别向相应的 ...

  5. Java LocalDateTime,DateTimeFomatter----JDK8新时间类的简单使用

    JDK8中增加了一系列时间的类, (据说)是为了干掉过去的Date,Calendar类的, 过去的Date类(据说)有着线程不安全等诸多弊端, 至于我的个人感受就是用起来实在是很麻烦,我一般封装成几个 ...

  6. 【Cucumber】【命令行】

    知识点 参考:https://www.cnblogs.com/worklog/p/5253297.html cucumber的命令行选项 首先查看命令行选项.和其它命令行工具一样,cucumber提供 ...

  7. hdu 6041 I Curse Myself 无向图找环+优先队列

    I Curse Myself Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  8. python 排序 由大到小

    import functools class Solution: # @param {integer[]} nums # @return {string} def largestNumber(self ...

  9. webbench高并发测试

    安装ctags sudo apt-get install ctags 安装webbench 下载webbench http://home.tiscali.cz/~cz210552/distfiles/ ...

  10. linux基础05-管道及IO重定向

    (1)I/O重定向:Linux:>: 覆盖输出>>:追加输出 (2)set -C: 禁止对已经存在文件使用覆盖重定向: 强制覆盖输出,则使用 >|set +C: 关闭上述功能 ...