题目链接:http://codeforces.com/contest/931/problem/E

题意:S和Y玩游戏,S首先在纸上写一个长度为n的字符串给Y看,之后在心里将这个字符串循环移位k位

然后把循环移位之后字符串的第一个字符告诉Y,并且允许Y再得到任意一个位置上的字符

如果Y能100%确定S心里所想的k是多少,就获胜,否则就失败

假设选择k时是随机均匀的,Y很聪明,求Y的胜率

这题题意还是很绕,不过n只有5000,所以你基本只要暴力所有情况就行了

我的方法是暴力所有的第一个字母,对于第一个字母再暴力Y所选的位置,对于所有位置中选个最优的算出概率加上去

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char str[5005];
int loc[5005], sum[33];
int main(void)
{char ch;int n, i, j, k, cnt, sco, bet;double ans;scanf("%s", str+1);n = strlen(str+1);ans = 0;for(ch='a';ch<='z';ch++){cnt = 0;for(i=1;i<=n;i++){if(str[i]==ch)loc[++cnt] = i;}if(cnt==0)continue;bet = 0;for(j=1;j<=n-1;j++){memset(sum, 0, sizeof(sum));for(k=1;k<=cnt;k++)sum[str[(loc[k]+j-1)%n+1]-'a']++;sco = 0;for(k=0;k<=30;k++){if(sum[k]==1)sco++;}bet = max(bet, sco);}ans += 1.0*bet;}printf("%.10f\n", ans/n);return 0;
}

Codeforces Round #468 (Div. 2): E. Game with String相关推荐

  1. Codeforces Round #468 (Div. 2): C. Laboratory Work(贪心)

    给你n个数,这n个数最大最小数差距<=2 让你重新构造一个序列,使得满足①平均数不变:②最大值最小值也不变: ③和原本序列相同的数字尽可能少(位置不对应) 当最大值-最小值<=1时,所有数 ...

  2. Codeforces Round #468 (Div. 2): D. Peculiar apple-tree(水题)

    真 · 水题,只不过很难看懂 题意:给你一棵树,求出有多少x(x>=0)满足,与跟距离为x的节点个数为奇数 #include<stdio.h> #include<vector& ...

  3. Codeforces Round #468 (Div. 2): F. Teodor is not a liar!(DP)

    题意:给出n条线段,这n条线段满足保证不存在一个点使得所有线段都包含它 你现在不知道这n条线段的开头和结尾,甚至也不知道有多少条线段!只知道坐标范围是[1, m] 不过你每给出一个点,电脑都会回答有多 ...

  4. Codeforces Round #445 div.2 D. Restoration of string 乱搞

    D. Restoration of string 题意:给你n个字符串,让你构造一个终串,使得这n个字符串都是终串的最小频繁子串,如果不存在输出NO.  最频繁子串:出现次数最多的子串 tags: 直 ...

  5. Codeforces Round #268 (Div. 1) C. Hack it! 数位dp + 构造数位

    传送门 文章目录 题意: 思路: 题意: 定义f(x)f(x)f(x)表示xxx的十进制下数位和,现在给你aaa,让你选一个区间[l,r][l,r][l,r],满足∑i=lrf(i)moda=0\su ...

  6. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  7. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  8. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  9. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

最新文章

  1. C#与RSS亲密接触
  2. 当你 ping 的时候,你知道背后发生了什么吗?
  3. 关于Java招聘那点事
  4. handler消息机制
  5. C语言——vs2010的使用 || C语言入门知识
  6. Java中Arrays.toString ()打印二维数组及Array数组的常用操作
  7. UITableView的UITableViewStyleGrouped
  8. 利益相关者软件工程_改善开发人员团队与非技术利益相关者之间交流的方法
  9. c语言getch在哪个头文件,用getch()需要头文件吗?
  10. 了解SQL Server中的GUID数据类型
  11. 深入理解java虚拟机【内存溢出实例】
  12. 阿里云高性能时序数据库 TSDB 启动公测,为物联网而生的数据库!
  13. 两张表合并加标识根据ID
  14. WDTP:利器,在于轻便犀利
  15. 嵌入式C语言面试题剖析100,嵌入式c语言面试题汇总超.docx
  16. SPI通信协议详解(一)
  17. Jenkins:This is especially strange since your build otherwise succeeded.及不是内外部指令问题
  18. 选对流程引擎,玩转流程设计不是梦
  19. ReSharper配置及用法(转)
  20. 小程序 【头像昵称填写能力】使用

热门文章

  1. 学python语言有前途吗-Python语言是什么?学Python语言有前途吗?
  2. python教程-Python2 教程
  3. python与java前景-java和Python的前景谁更好
  4. 语音识别电路设计图集锦 - 嵌入式类电子电路图 - 电子发烧友网
  5. Vue基本指令(详细,好理解,示例代码)
  6. SDL2源代码分析4:纹理(SDL_Texture)
  7. python 替换array中的值_Python实现计数排序
  8. 存储如何做远程服务器数据备份_如何选择存储用的服务器?
  9. 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
  10. 【Luogu1484】种树(贪心,堆)