PROBLEM_A: URAL 2024 Adventure Time
来源:互联网 发布:淘宝达人怎么介绍 编辑:程序博客网 时间:2024/06/05 00:39
/*PROBLEM A : "UNSOLVED" *//*TIME : ________________*/#include "cstdio"#include "cstring"#include "cctype"#include "algorithm"#include "cmath"#include "vector"using namespace std;#define Inc(i, a, b) for(int i = a; i < b; i++)#define Dec(i, a, b) for(int i = a; i > b; i--)#define Mem(a) memset(a, 0, sizeof(a))#define Pii pair<int, int> #define Pdd pair<double, double>#define Cin scanf#define Put printf#define CIN(a) scanf("%d", &a)#define CII(a, b) scanf("%d%d", &a, &b)#define CIS(a) scanf("%s", a)#define PUT(a) printf("%d\n", a) #define PII(a, b) printf("%d %d\n", a, b)#define PUS(a) printf("%s\n", a)#define Pub push_back#define Mpi make_pair#define ll long long#define maxn 100005#define pi acos(-1)#define eps 1e-10char st[maxn];int n, k;int is[27][2];struct node {int xc, no;} ch[27];bool comp(node a, node b) {return a.no > b.no;}int C(int a, int b) {int sum = 1;Inc(i, 0, b) sum *= (a - i), sum /= i + 1;return sum;}int main() {while(~Cin("%s%d", st, &k)) {n = strlen(st);Mem(is), Mem(ch);Inc(i, 0, 26) ch[i].xc = i, ch[i].xc = 0;ch[26].no = -1;Inc(i, 0, n) ch[st[i] - 'a'].no++;sort(ch, ch + 26, comp);int tmp = 1, num = 1;Inc(i, 1, 27) {if(ch[i].no == ch[i - 1].no) tmp++;else {is[num][0] = tmp, tmp = 1;is[num++][1] = ch[i - 1].no;}if(ch[i].no == 0) break;}int it[27][2];Mem(it);Inc(i, 1, 27) {it[i][0] += it[i - 1][0] + is[i][0];it[i][1] += it[i - 1][1] + is[i][0] * is[i][1]; }bool flag = 0;Inc(i, 1, 27) {if(it[i][0] >= k) {int t = k - is[i - 1][0];PII(it[i - 1][1] + t * is[i][1], C(is[i][0], t));flag = 1;break;}if(is[i][0] == 0) break;}if(!flag) PII(it[26][1], 1);}}
0 0
- PROBLEM_A: URAL 2024 Adventure Time
- URAL 2024 Adventure Time 思维题、Interesting
- Adventure Time URAL
- A - Adventure Time --阶乘/排列组合
- URAL 1636. Penalty Time
- *sdnu1483.Problem_A
- Adventure Time 贪心加元素不同选择方案
- ural 1905 Travel in Time
- Ural 1087. The Time to Take Stones
- Suzhou Adventure
- Ural 1087. The Time to Take Stones 递推+博弈
- ural 1087. The Time to Take Stones(博弈)
- URAL 1905 Travel in Time BFS(广度搜索)
- Ural 1087|The Time to Take Stones|博弈论|动态规划
- SDNU 1492.Problem_A LCA倍增算法
- URAL
- 【ural】
- URAL
- 日经社説 20150802 限界に近づく救急車の出動
- 日经社説 20150802 TPP交渉を漂流させずに早期決着を
- 小谈Java Enum的多态性
- 社説 20150802 最低賃金上げ 中小企業の体力強化が重要だ
- 社説 20150802 TPP合意せず 漂流回避へ交渉再開を急げ
- PROBLEM_A: URAL 2024 Adventure Time
- 源代码管理工具 SVN
- CDH升级记录(5.1->5.2)
- wait 和 sleep的区别
- 对于拓展欧几里德算法的理解
- 初探数据结构之“树”的定义和二叉树定义及性质
- 000
- Lucene九(分词)
- JAVA中文件的编码