CodeForces每日好题10.14

这篇具有很好参考价值的文章主要介绍了CodeForces每日好题10.14。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CodeForces每日好题10.14,Codeforces,c++,算法

   给你一个字符串 让你删除一些字符让它变成一个相邻的字母不相同的字符串,问你最小的删除次数 以及你可以完成的所有方/案数

求方案数往DP 或者 组合数学推公式上面去想,发现一个有意思的事情

例如1001011110

这个字符串你划分成1  00   1 0 1111 0

每个部分最多剩余一个

最小操作数就是n-划分个数

方案数的话自己玩一下 简单的组合数学推公式

  文章来源地址https://www.toymoban.com/news/detail-725589.html

// Problem: C. Make it Alternating
// Contest: Codeforces - Educational Codeforces Round 155 (Rated for Div. 2)
// URL: https://codeforces.com/problemset/problem/1879/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N = 2e5+10,mod = 998244353;
ll ans=1;
void solve()
{
	string str;cin>>str;
    vector<int>arr;
    string tem="";
    tem+=str[0];
    for(int i=1;i<str.size();i++){
    	if(str[i]!=str[i-1]){
    		arr.push_back(tem.size());
    		tem="";
    	}
    	tem+=str[i];
    }
    if(tem!="")arr.push_back(tem.size());
    
    
    cout<<str.size()-arr.size()<<" ";
    
    
    ans = 1;
    for(auto t:arr) ans = ans*t%mod;
    int t = str.size()-arr.size();
    for(int i=1;i<=t;i++) ans = ans * i %mod;
    
    cout<<ans<<"\n";

	
}

int main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _;cin>>_;
	while(_--)solve();
	return 0;
}

到了这里,关于CodeForces每日好题10.14的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 「Codeforces」A. Reverse

    2022年2月15日15:29:19 题目描述 给一个长度为 n 序列, p 1 , p 2 , … , p n p_1, p_2, dots, p_n p 1 ​ , p 2 ​ , … , p n ​ 。选择两个整数,即一个区间 [ L , R ] [L, R] [ L , R ] ,对其区间进行反转操作。 要求你找到恰好执行一次反转操作获得的字典最小序列。 序列是一个数组,由 1 到

    2024年02月02日
    浏览(19)
  • codeforces补题 1.0

    B----https://codeforces.com/contest/1872/problem/B 翻译: 你位于一个无限延伸向右的走廊中,走廊被分割成方形的房间。你从房间1出发,前往房间k,然后返回房间1。你可以选择k的值。移动到相邻的房间需要1秒。 此外,走廊中有n个陷阱:第i个陷阱位于房间di,并且在你进入房间di后

    2024年02月09日
    浏览(10)
  • Codeforces 918(div4)

    注意一下判断 是否为平方数的方法;也要记得开long long 正序写 讨论的情况比较多,所以选择倒叙看;

    2024年02月03日
    浏览(10)
  • CodeForces CF1846G 题解

    CodeForces题目链接 洛谷题目链接 标准答案是状压之后,转化成Dijkstra算法跑最短路。我这里提供一个不一样的思路。 主人公得了病,有部分类型的症状。所有类型症状共有 (n) 种,用长为 (n) 的01串表示是否有那种症状。共有 (m) 种药,吃第 (i) 种药需要花费时间 (t_i) ,

    2024年02月14日
    浏览(10)
  • Codeforces Round 912 (Div. 2)

    大等于2依据冒泡排序即可排序,因此判断下1即可 对每一个数字找哪一位肯定为0填0其他的填1 从后往前考虑加到当前集合或新立一个集合 从最高位开始考虑能否为1,计算能否时每个数当前位为1

    2024年02月04日
    浏览(12)
  • Codeforces Round 894 (Div. 3)

    签到题 a数组里,大于等于前一个值的a[i]会被写到b里。直接遍历b,如果b[i]比前一个小就在它前面插一个相等的值 计算反过来的长度,判断是否相等就行 对于没有重复口味的集合,能选出的方案是n*(n-1)/2 (从n个里面选2个的组合数)。二分找出需要多少不同口味的冰淇淋,

    2024年02月11日
    浏览(14)
  • Codeforces Round 920 (Div. 3)

    Codeforces Round 920 (Div. 3)

    Codeforces Round 920 (Div. 3) 题意:随机给出正方形在平面坐标系上的四个顶点的坐标,求正方形的面积,正方形边与xy轴平行。 思路:因为正方形与坐标轴平行,所以找出相同的两x或y坐标即可找到一条边的长度,平方就是面积,注意结果返回整型。 AC code: 题意:给出两个01字符

    2024年01月17日
    浏览(31)
  • codeforces (C++ Satisfying Constraints)

    codeforces (C++ Satisfying Constraints)

        1、找到最大的下限min 2、找到最小的上限max 3、则max-min+1满足1、2约束条件的个数 4、max-min+1减去约束条件3的个数,即为最终答案 5、如果min大于max,则结果为0,不存在满足约束条件的数

    2024年01月19日
    浏览(7)
  • Codeforces Round 874 (Div. 3)

    Codeforces Round 874 (Div. 3)

    用最少的长度为2的字符串按一定规则拼出s。规则是:前一个字符串的尾与后一个字符串的首相同。 统计s中长度为2的不同字符串数量。 给定数组a[n]和b[n],重排b后,令任意|ai−bi|≤k成立(1≤k≤n)数据保证一定有解。 将a和b分别按从小到大的顺序匹配便是最优的,一定能满足

    2024年02月05日
    浏览(14)
  • Codeforces Round 871 (Div. 4)

    Codeforces Round 871 (Div. 4)

    给定n个长度为10的字符串,问其与codeforces字符串的对应下标字母不同的个数。 对于每个字符串从前往后依次和“codeforces”对应字符比较然后统计不同字母数即可 给定长度为n的数组,问连续相邻为0的最大长度 维护一个全局最大长度res,和当前连续序列的长度cnt。从前往后扫

    2024年02月03日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包