【枚举】Consonant Fencity @upcexam5110

【模拟】[NOIP2014]螺旋矩阵[c++] 题目描述 一个n行n列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第1行第1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, … , n,便构成了一个螺旋矩阵。 阅读详情

时间限制: 3 Sec 内存限制: 512 MB
题目描述
There are two kinds of sounds in spoken languages: vowels and consonants. Vowel is a sound, produced with an open vocal tract; and consonant is pronounced in such a way that the breath is at least partly obstructed. For example, letters a and o are used to express vowel sounds, while letters b and p are the consonants (e.g. bad, pot).
Some letters can be used to express both vowel and consonant sounds: for example, y may be used as a vowel (e.g. silly) or as a consonant (e.g. yellow). The letter w, usually used as a consonant (e.g. wet) could produce a vowel after another vowel (e.g. growth) in English, and in some languages (e.g. Welsh) it could be even the only vowel in a word.
In this task, we consider y and w as vowels, so there are seven vowels in English alphabet: a, e, i, o, u, w and y, all other letters are consonants.
Let’s define the consonant fencity of a string as the number of pairs of consecutive letters in the string which both are consonants and have different cases (lowercase letter followed by uppercase or vice versa). For example, the consonant fencity of a string CoNsoNaNts is 2, the consonant fencity of a string dEsTrUcTiOn is 3 and the consonant fencity of string StRenGtH is 5.
You will be given a string consisting of lowercase English letters. Your task is to change the case of some letters in such a way that all equal letters will be of the same case (that means, no letter can occur in resulting string as both lowercase and uppercase), and the consonant fencity of resulting string is maximal.
输入
The only line of the input contains non-empty original string consisting of no more than 106 lowercase English letters.
输出
Output the only line: the input string changed to have maximum consonant fencity.
样例输入
consonants
样例输出
coNsoNaNts

把26个字母分成19个辅音字母和7个元音字母,让你通过改变辅音字母的大小写状态,使得字符串中连续的两个大小写状态不同的辅音字母组成的字母对数量最多,输出该状态下的字符串。
扫一遍字符串,统计每种辅音字母对的数量,总共19*19种。
枚举19个辅音字母的大小写状态(二进制状压),内循环枚举每两个辅音字母的前后关系,维护一个最大值
复杂度 o(219∗192)(219∗192)

#define IN_LB() freopen("F:\\in.txt","r",stdin)
#define IN_PC() freopen("C:\\Users\\hz\\Desktop\\in.txt","r",stdin)
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int comb[20][20];
int mapp[] = {0,1,2,3,0,4,5,6,0,7,8,9,10,11,0,12,13,14,15,16,0,17,0,18,0,19};
char s[1000005];

void out(int sta) {
    for(int i=0; s[i]; i++) {
        if(sta&(1<<(mapp[s[i]-'a']-1))) {
            printf("%c",s[i]-'a'+'A');
        }
        else printf("%c",s[i]);
    }
    printf("\n");
}

int main() {
//    IN_LB();
    scanf("%s",s);
    for(int i=1; s[i]; i++) {
        comb[mapp[s[i-1]-'a']][mapp[s[i]-'a']]++;
    }
    int ans = 0,maxn = 0,sum = 1<<19;
    for(int i=0; i<sum; i++) {
        int cnt = 0;
        for(int j=1; j<=19; j++) {
            for(int k=1; k<=19; k++) {
                if( (i&(1<<(j-1))&&!(i&(1<<(k-1)))) || ((!(i&(1<<(j-1))))&&(i&(1<<(k-1)))) ) {
                    cnt += comb[j][k];
                }
            }
        }
        if(cnt>maxn) {
            maxn = cnt;
            ans = i;
        }
    }
    out(ans);
    return 0;
}
【枚举】珠心算测验[c++] 题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和? 最近老师出了一些测验题,请你帮忙求出答案。 阅读详情

相关推荐

【模拟】[NOIP2011]铺地毯[c++]

题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯,一共有n张地毯,编号从 1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。 地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

银狼的黎明 2081

Consonant Fencity——状态压缩+二进制枚举

题目大意:把26个字母分成19个辅音字母和7个元音字母,让你通过改变辅音字母的大小写状态,使得字符串中连续的两个大小写状态不同的辅音字母组成的字母对数量最多,输出该状态下的字符串。 题目思路:注意到只要将一个大写字符变为大写,所有相同的字符都变为大写,这样扫描一遍字符串,我们判断的是相邻辅音字符的对数,总数为19*19种,所以我们再枚举1&lt;&lt;19种状态,即选择任意辅音字符将其变为大...

Q755100802的博客 441

PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破

本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。

kite3的博客 285

Gym 101612C Consonant Fencity 建图预处理 + 二进制枚举

题目:https://cn.vjudge.net/problem/Gym-101612C 题意:给出一个字符串(长度不超过1e6),仅由小写字母组成。定义一个叫consonant fencity的东西,含义是如果两个连续字母是辅音(本题中辅音指除aeiouwy以外的字母),且大小写不相同,就有一对consonant fencity。题目要求指定每个字母的大小写形式(要求相同字母的大小写形式相同)...

Rewriter_huanying的博客 714

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 747

AS7262六通道可见光传感器:从光谱原理到物联网色彩检测实战

光谱检测是嵌入式感知领域的关键技术,其核心原理是通过特定波长的滤光片分离光线并转换为电信号,从而实现对环境光或物体反射光的成分分析。这项技术的价值在于将复杂的光学分析简化为可编程读取的数字信号,极大降低了色彩检测在物联网和智能设备中的应用门槛。在智能农业、工业分拣、环境监测等场景中,精确的光谱数据能够驱动自动化决策,例如评估植物光照条件或识别物料颜色。本文以Adafruit AS7262传感器为例,深入解析其基于硅干涉滤光片的六通道设计,并通过Arduino与Python实战,演示如何快速构建从数据采集到可

weixin_28738173的博客 596

Codeforces gym 101612 Consonant Fencity (状态压缩+暴力)

Consonant Fencity 时间限制: 3 Sec 内存限制: 512 MB 提交: 100 解决: 15 [提交][状态][讨论版][命题人:admin] 题目描述 There are two kinds of sounds in spoken languages: vowels and consonants. Vowel is a sound, produced with an open vocal tract; and consonant is pronounced in such a w

Ever_glow的博客 868

Qi标准无线充学习笔记

负载调制主要通过接收端向后散射调制计数使得功率信号改变,两者通过线圈的电压和电流的变化量来传输信号。下面是要求稳定电流的变化量不得超出8ma,判断稳定的时间至少要在150us稳定电压的变化量不得超出110mv,判断稳定的时间至少要在150us高低电流变化量至少需要15mA,判断稳定的时间至少要在100us,主线圈电流采样的时间是在半桥转换的1/4周期刻测量的高低电压变化量至少需要200mV,判断稳定的时间至少要在100us。

m0_73991989的博客 1011

Codeforces gym 101612 Consonant Fencity (状态压缩+二进制枚举)

http://codeforces.com/gym/101612/attachments 题意:是给定你一串字符,分为元音字母和辅音字母,将辅音字母变成大写,要构成尽量多的大写字母和小写字母的组合,最后输出改变后的字符串。 思路: 由于辅音字母的数量才19个,少到可以状态压缩,将相邻点建边,边权为1,这样可以将字符串转化为1个图,相邻字符的出现次数可以表现为图的权值,然后用二进制去枚举每一种...

henucm的博客 489

永磁同步电机矢量控制——电流内环前馈解耦策略

在采用永磁同步电机矢量控制时,ud和uq的指令值存在耦合项。需要对其进行解耦,目前,常用的解耦设计方法有前馈解耦、偏差解耦以及内模控制,本文主要分享电流内环前馈解耦控制策略。

a12312341ll的博客 8695

STM32F103移植NuttX实战:从零搭建最小系统到串口Shell(附完整配置文件)

本文详细介绍了在STM32F103C8T6开发板上移植NuttX实时操作系统的完整过程,包括环境搭建、BSP配置、系统时钟初始化、驱动裁剪、编译烧录及串口Shell交互。通过实战指南帮助开发者快速掌握NuttX移植技巧,解决典型问题,适用于嵌入式系统开发。

tree8的博客 293

2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest

2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest Problem A. Auxiliary Project 题目描述:用摆成一个\(8\)字的七盏LED灯来显示数字\(0\)~\(9\),现要允许亮\(n\)盏灯,问形成的数字的和最大是多少。 solution 完全背包。 时间复杂度:\(O(10n)\) Problem B....

diebenger6280的博客 382

【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第1章 开发环境搭建

开发环境: MDK:Keil 5.30 MCU:GD32F207IK 1.1 GD32F207I-EVAL开发板简介 笔者使用的开发板是兆易创新设计的GD32F207I-EVAL开发板。 GD32F207I-EVAL开发板使用 GD32F207IK作为主控制器,主频120MHz、集成3MB Flash、256KB SRAM、通用定时器*10、Adv. TM*2、Basic TM*2、系统时钟*1、看门狗*2、RTC*1、USART*4、UART*4、I2C*3、SPI*3、I2S*1、SDIO*1、CAN

不问归期的博客 9992

Gym101612 Problem C. Consonant Fencity(状压枚举)

题意: 要求你将一些种类字母变成大写,使得最后相邻且都为辅音,且大小写不同的字符对最多。 思路: 一开始的贪心想法是只要碰到相邻两个辅音,就把后面这个变成大写。 但是题目要求是同一种类字符全部都得边,那就有后效性了。 不过观察可得,嘿嘿,辅音一共19个,2^19,那不就是直接状压枚举了吗。 #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> #include<i.

tomjobs的博客 559

基于MATLAB开发AUTOSAR软件应用层模块-part2.建立一个AUTOSAR的模型,并生成autosar格式代码

上一篇我们建立了一个空模型,这篇我们接着上篇文章,建立一个简单的模型 点击 Library Browser,打开simulink模块库,见下图 左侧是模块库的列表,右侧是每个模块库里包含的具体的模块。 点击通用模块库,里边是一些常见的模块, 我们选取里边的3个模块,分别是输入,输出和增益三个模块,右键点击模块,选择add block to model xx,可以把模块添加到模型中。 然后练好连线 一个简单的模型就搭建好了,之后我们修改配置,将模型修改为AUT...

汽车软件开发 3303

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Gym - 101612C - Consonant Fencity (预处理&&二进制枚举)

链接: https://odzkskevi.qnssl.com/76ee6a37a5e7b6e0a1da0f46372ab4da?v=1537373000 题意: 把26个字母分成19个辅音字母和7个元音字母,让你通过改变辅音字母的大小写状态,使得字符串中连续的两个大小写状态不同的辅音字母组成的字母对数量最多,输出该状态下的字符串。  扫一遍字符串,统计每种辅音字母对的数量,总共19*19种...

刘二狗的博客 435

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C#(pronounced: see sharp) 与 .NET

C#与.NET 一、什么是C# 这里的「#/♯」读作「sharp」,意思是「(Music, other) (immediately postpositive) denoting a note that has been raised in pitch by one chromatic semitone: B sharp. 」,也就是:一个升的调。有些开发看到别人读「C 井(jǐng)」,...

weixin_30300225的博客 199

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C++primer plus第六版课后编程题答案 6.7

6.7 #include<iostream> #include<cctype> using namespace std; void main67() { const int Size=10; int vowels=0; //存储个数 int consonants=0; int other=0; cout<<"Enter words (q t...

weixin_30496431的博客 122

Masquerade strikes back Gym - 101911D(补题) 数学

https://vjudge.net/problem/Gym-101911D 具体思路: 对于每一个数,假设当前的数是10 分解 4次,首先 1 10 这是一对,然后下一次就记录 10 1,这样的话直接每一个数跑到这个数的一半就可以了,还有一个优化,用一个数组(map会超时)记录当前这个数的分解已经到了哪个地方了。 AC代码: #include&...

diaomeijiao3430的博客 273

Consonant Fencity Gym - 101612C(压状+暴力)

题目大意 输入一串仅含有小写字母的字符串, 让某些辅音字母变成大写(一个变大写同种辅音都变大写)。输出使得相邻辅音大小写不同的个数最多的字符串。 思路 枚举所有辅音大小写的变化组合,最多2^19,然后选出最优的状态。本题的重点是怎样保存这个状态,可以用二进制来保存,对于每种状态通过枚举两个辅音字母来统计相邻个数,然后维护一个最优状态。 代码 #include &lt;bits/stdc++.h&...

sunmaoxiang的博客 278

Codeforces Gym 101612 | 2017-2018 NEERC St Petersburg Subregional

居然这套题要文件输入输出。。 A: Auxiliary Project 题目大意 Anna的机器可以显示最多n条灯条,问显示n条灯条能表示的数字的和最大是多少。 题解 因为n不大,所以完全背包即可。 #include &lt;cstdio&gt; #include &lt;algorithm&gt; using namespace std; const int s[]...

とある黄鱼のOIブログ 794

【倍增】T-shirt @2018acm徐州邀请赛 I

问题 I: T-shirt时间限制: 1 Sec  内存限制: 64 MB题目描述JSZKC is going to spend his vacation! His vacation has N days. Each day, he can choose a T-shirt to wear. Obviously, he doesn’t want to wear a singer color T-s...

银狼的黎明 1166

【贪心】[hdu1052]Tian Ji -- The Horse Racing(田忌赛马)[c++]

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

银狼的黎明 837

【暴力枚举&BFS】Flow Free @RMRC2017/upcexam5124

时间限制: 1 Sec 内存限制: 128 MB 题目描述 Flow Free is a puzzle that is played on a 2D grid of cells, with some cells marked as endpoints of certain colors and the rest of cells being blank. To solve the p

银狼的黎明 716

【分治-前缀积后缀积】JS Window @2018acm徐州邀请赛G

问题 G: JS Window时间限制: 2 Sec  内存限制: 512 MB题目描述JSZKC has an array A of N integers. More over, he has a Window of length M which means the Window can contain M continuous integers in the array. At the beg...

银狼的黎明 652
上一篇: 【暴力枚举&BFS】Flow Free @RMRC2017/upcexam5124
下一篇: 【二分】Producing Snow @Codeforces Round #470 Div.2 C
乌拉尔银狼
博客等级 码龄10年 9粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值