1367E 1900的题
题意:给你n个字母,其中仅由a-z26个小写构成,选其中ans个字母围成一个圈使得这个圈顺时针旋转k个位置还是和一开始一样,求你能得到的最大的ans
思路:从大到小枚举最终字符串的长度,对当前长度和k取最大公因数即为字符串单节的长度len,然后求要经过多少次的循环即为cnt=i/len,然后对字符串进行贪心即可,具体实现可看到代码
代码如下:

#pragma GCC optimize("Ofast","inline","-ffast-math")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
#define rep(i, a, n) for(int i = a; i <= n; i++)
#define per(i, a, n) for(int i = n; i >= a; i--)
#define IOS std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#define fopen freopen("file.in","r",stdin);freopen("file.out","w",stdout);
#define fclose fclose(stdin);fclose(stdout);
const int inf = 1e9;
const ll onf = 1e18;
const int maxn = 1e5+10;
inline int read(){int x=0,f=1;char ch=getchar();while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=(x<<3)+(x<<1)+ch-48;ch=getchar();}return x*f;
}
int gcd(int a, int b){return b==0 ? a : gcd(b, a%b);
}
inline void cf(){int t = read();while(t--){int n = read(), k = read();char str[n+5];scanf("%s", str+1);int m[30];rep(i,0,26) m[i] = 0; rep(i,1,n){m[str[i]-'a']++;}per(i,1,n){      //枚举长度int len = gcd(i, k); //单节长度int cnt = i/len; //循环次数rep(j,0,25) len -= m[j]/cnt;if(len<=0){printf("%d\n", i);break;}}}return ;
}
signed main(){cf();return 0;
}

cf1367E 思维+贪心相关推荐

  1. F 魏迟燕的自走棋(思维+贪心+并查集维护联通块/左部点配对边<=2的匈牙利)

    https://ac.nowcoder.com/acm/contest/9984/F 参考:F 魏迟燕的自走棋(贪心+并查集) 将每个人看成一个点,武器的能力值抽象成边,这样就转化成图论的模型了. 然 ...

  2. CF思维联系--CodeForces -214C (拓扑排序+思维+贪心)

    ACM思维题训练集合 Furik and Rubik love playing computer games. Furik has recently found a new game that gre ...

  3. cf 1059e 思维 贪心 树

    参考博客:http://www.cnblogs.com/waldenlake/p/9750249.html 题意:将一棵n个点的带权有根树剖分成尽量少的链,使得 (1)链的两个端点是祖先关系 (2)链 ...

  4. Wannafly交流赛1 B 硬币[数学思维/贪心]

    链接:https://www.nowcoder.com/acm/contest/69/B 来源:牛客网 蜥蜴的生日快到了,就在这个月底! 今年,蜥蜴的快乐伙伴之一壁虎想要送好多个1元硬币来恶整蜥蜴. ...

  5. Codeforces 1093C (思维+贪心)

    题面 传送门 题目大意: 有一个长n(n为偶数)的序列a 已知a满足 \(a_1≤a_2≤⋯≤a_n\) 给出一个长度为\(\frac{n}{2}\) 的序列b,定义\(b_i=a_i+a_{n-i+ ...

  6. HDU多校7 - 6850 Game(博弈+思维+贪心)

    题目链接:点击查看 题目大意:二维平面上有 n 个点,现在两个人博弈,每个点至多遍历一次,先手从第一个点出发,随意选择一个点作为下一个点,后手再选择一个点,从现在开始需要满足的条件是,接下来选择点的距 ...

  7. CodeForces - 1339C Powered Addition(思维+贪心)

    题目链接:点击查看 题目大意:给出一个由 n 个数组成的数列 a,选择一个最小的 k ,代表可以进行 k 次操作,对于第 t 次操作可以选择任意个位置使得 a[ i ] = a[ i ] + 2^( ...

  8. 中石油训练赛 - 围栏翻新(思维+贪心+差分)

    题目描述 小明的破旧围栏又要喷涂油漆了.围栏由N个木板构成,每个宽度都为1cm,但是高度各不相同.他给自己买了一个喷漆机器,喷涂头恰好也是1cm宽. 小明的喷漆机器是直接喷射的,因此喷头的每一个部位必 ...

  9. CodeForces - 618D Hamiltonian Spanning Tree(思维+贪心)

    题目链接:点击查看 题目大意:首先给出n个点,n*(n-1)/2条边组成的无向图,边的权值为y,现在给出一棵连接n个点的树,树上的权值都是x,现在问如何在每个点只遍历一次的情况下走遍n个点,并使一路上 ...

最新文章

  1. java get请求传参_Java-ThreadLocal三种使用场景
  2. token和session的区别
  3. query什么意思php,关于 QueryPHP
  4. DPDK 18 log日志系统使用
  5. VB100十月测试:360可牛凯歌高奏 金山失利瑞星缺席
  6. Spark 机器学习 —— 从决策树到随机森林
  7. 计算机操作系统的功能有哪些,操作系统的基本功能是什么
  8. SQLyog安装使用教程
  9. BlackBerry7290上网步骤
  10. 2021别再废掉了!学会这个用这个做PPT,高效神器保住你的发际线~
  11. Python [:] list slicing列表切片
  12. 如何合理选择AI加速器?
  13. jupyter中python3如何导入文件_无法读取Azure Jupyter Notebook(Python 2和3)中的“ .parquet”文件 - python...
  14. 帝国CMS系统自动生成sitemap.xml网站地图的教程
  15. SAP 标准成本、目标成本与实际成本
  16. Html+Css面试题及答案
  17. 乐吾乐2D可视化为智慧电力赋能(二)
  18. 【无标题】移动端App下载页面模版
  19. mysql用了索引为什么还是查询很慢?
  20. 在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

热门文章

  1. 目录大全_安卓面经_Android面经_150道安卓基础面试题全解析
  2. 超像素分割(Superpixel Segmentation)发展
  3. python ros gps转xyz坐标系
  4. substr函数|字符串截取
  5. 飞凌嵌入式丨千兆网之RGMII SGMII解析
  6. [转贴]金庸的九家著名公司
  7. 我与博友们分享我的工作经验
  8. c语言 结构体 选择题,c语言结构体共用体选择题新
  9. 摄影测量学和计算机视觉,科学网—摄影测量与计算机视觉——系列1 光与视觉 - 季顺平的博文...
  10. 使用adb连接夜神模拟器,查看多开模拟器端口号