Codeforces Round #468 (Div. 2): E. Game with String
题目链接: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相关推荐
- Codeforces Round #468 (Div. 2): C. Laboratory Work(贪心)
给你n个数,这n个数最大最小数差距<=2 让你重新构造一个序列,使得满足①平均数不变:②最大值最小值也不变: ③和原本序列相同的数字尽可能少(位置不对应) 当最大值-最小值<=1时,所有数 ...
- Codeforces Round #468 (Div. 2): D. Peculiar apple-tree(水题)
真 · 水题,只不过很难看懂 题意:给你一棵树,求出有多少x(x>=0)满足,与跟距离为x的节点个数为奇数 #include<stdio.h> #include<vector& ...
- Codeforces Round #468 (Div. 2): F. Teodor is not a liar!(DP)
题意:给出n条线段,这n条线段满足保证不存在一个点使得所有线段都包含它 你现在不知道这n条线段的开头和结尾,甚至也不知道有多少条线段!只知道坐标范围是[1, m] 不过你每给出一个点,电脑都会回答有多 ...
- Codeforces Round #445 div.2 D. Restoration of string 乱搞
D. Restoration of string 题意:给你n个字符串,让你构造一个终串,使得这n个字符串都是终串的最小频繁子串,如果不存在输出NO. 最频繁子串:出现次数最多的子串 tags: 直 ...
- 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 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- 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 ...
- 构造 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 的例子可以 ...
- Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...
最新文章
- C#与RSS亲密接触
- 当你 ping 的时候,你知道背后发生了什么吗?
- 关于Java招聘那点事
- handler消息机制
- C语言——vs2010的使用 || C语言入门知识
- Java中Arrays.toString ()打印二维数组及Array数组的常用操作
- UITableView的UITableViewStyleGrouped
- 利益相关者软件工程_改善开发人员团队与非技术利益相关者之间交流的方法
- c语言getch在哪个头文件,用getch()需要头文件吗?
- 了解SQL Server中的GUID数据类型
- 深入理解java虚拟机【内存溢出实例】
- 阿里云高性能时序数据库 TSDB 启动公测,为物联网而生的数据库!
- 两张表合并加标识根据ID
- WDTP:利器,在于轻便犀利
- 嵌入式C语言面试题剖析100,嵌入式c语言面试题汇总超.docx
- SPI通信协议详解(一)
- Jenkins:This is especially strange since your build otherwise succeeded.及不是内外部指令问题
- 选对流程引擎,玩转流程设计不是梦
- ReSharper配置及用法(转)
- 小程序 【头像昵称填写能力】使用
热门文章
- 学python语言有前途吗-Python语言是什么?学Python语言有前途吗?
- python教程-Python2 教程
- python与java前景-java和Python的前景谁更好
- 语音识别电路设计图集锦 - 嵌入式类电子电路图 - 电子发烧友网
- Vue基本指令(详细,好理解,示例代码)
- SDL2源代码分析4:纹理(SDL_Texture)
- python 替换array中的值_Python实现计数排序
- 存储如何做远程服务器数据备份_如何选择存储用的服务器?
- 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
- 【Luogu1484】种树(贪心,堆)