当前位置: 首页 > news >正文

【CF记录】贪心——A. Scrambled Scrabble

https://codeforces.com/contest/2045/problem/A

思路:

由于Y有两种选择,NG也是,那我们可以枚举以下情况:选i个Y做辅音,j个NG做辅音

然后贪心选择最长的即可,观察到S最长为5000,即使是O(n^{2})也不会超时

具体解释在代码中

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define ll long long
#define yes cout << "YES" << endl
#define no cout << "NO" << endl

map<char,int> cnt;

void solve()
{
    string s;
    cin >> s;
    for (char c : s) cnt[c]++;

    int ans = 0;
    for (int i = 0; i <= cnt['Y']; i++) 
    {
        //用j个NG
        for (int j = 0; j <= min(cnt['N'], cnt['G']); j++) 
        {
            int vcnt = i + cnt['A'] + cnt['O'] + cnt['E'] + cnt['I'] + cnt['U'];
            int ccnt = s.size() - vcnt - j;
            //减j是因为NG将N+G合并了,所以会少一个辅音
            int wcnt = min(vcnt, ccnt / 2);
            ans = max(ans, wcnt * 3 + min(2 * wcnt, j));
            //用了j个NG,每一个NG都会多奉献一个长度
            //min(2*wcnt,j)指的是在 选的 2*wcnt 个辅音中能有多少个NG
        }
    }

    cout << ans << endl;
}

int main()
{
    //cin.tie(0)->sync_with_stdio(false);
    int t = 1;
    //cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

http://www.dtcms.com/a/52352.html

相关文章:

  • 计算机毕业设计SpringBoot+Vue.js教师工作量管理系统(源码+文档+PPT+讲解)
  • PHP之变量
  • 前端模拟数据调试的方法
  • io学习----->文件io
  • 什么是索引下推?
  • 机器视觉开发教程——封装Halcon通用模板匹配工具【含免费教程源码】
  • java 查找两个集合的交集部分数据
  • K8s 1.27.1 实战系列(一)准备工作
  • 【零基础到精通Java合集】第二十九集:SQL常用优化手段
  • 双链路提升网络传输的可靠性扩展可用带宽
  • 【Oracle学习笔记】1.数据库组成对象
  • 前端开发10大框架深度解析
  • 前端基础之组件
  • CentOS 7 安装 Redis6.2.6
  • Docker的常用镜像
  • Linxu几种登陆方式介绍
  • 基于SSM+MySQL的二手书籍交易系统
  • 【零基础到精通Java合集】第二十集:Java内存模型-堆、栈、方法区
  • 【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(四十五)模型评估
  • 《数据治理破局:DataWorks中AI驱动流程的自修复之道》
  • Jadx Gui 的详细介绍、安装指南、使用方法及配置说明
  • 力扣 Hot 100 刷题记录 - 搜索二维矩阵 II
  • VisActor/VTable - 自定义图标
  • 【大模型技术】LlamaFactory 的原理解析与应用
  • 专门为高速连续扫描设计的TDI工业相机
  • MATLAB仿真:涡旋光束光强和相位分布同时展示
  • golang深度学习-性能分析
  • Julia安装与Jupyter内核配置
  • 多线程-JUC
  • vue中Axios的封装和API接口的管理(待根据实际项目front进行分析)