UVA 1610-Party Games(聚会游戏)

UVa 1610 聚会游戏(Party Games) 题意: 输入一个n个字符串的集合D,找一个长度最短的字符串(不一定在D中出现)S, 使得D中恰好一半串小于等于S,另一半串大于S,如果有多解,输出字典序最小的解。 分析: vector 存,排序,取中间的两个,然后把第一个逐渐变大,例如 ABC -> AC -> B 这样,一次次检验和第二个的关系,一旦大于了就停止循环,要注意的是 如果是 AZC 按照算法会变成 A(Z+1) Z + ... 阅读详情

题目链接

题意 给你一N个字符串 要你构造一个字符串D 满足有n/2个字符串比它大 另外半个比它小
分析 给n组字符串排序。然后取中间的两组进行比较。

#include<bits/stdc++.h>
using namespace std;
string a[1006];
int main (void){
    ios::sync_with_stdio(false);
    int n;
    while(cin>>n && n){
        int arr=0;
        for(int i=0;i<n;i++) cin>>a[i];
        sort(a,a+n);
        string b,w=a[n/2],s=a[n/2-1];
        bool f=true;
        while(f){
            for(int i=0;i<26;i++){
                b=s.substr(0,arr);
                b+=i+'A';
                if(b>=s  && b<w){ f=false; break;}
            }
            arr++;
        }
        cout<<b<<endl;
    }
    return 0;
}

总结紫书上说这道题坑很多,刚开始想到的是先比较s,w两个字符串中的相同元素。
后来发现这么做要考虑得情况有点麻烦。于是想出了这么一个耿直的思路hhhh。

RouterOS v7.6实战:5分钟搞定IPv6双栈配置(含光猫桥接避坑指南) 本文详细解析了在RouterOS v7.6系统中配置IPv6双栈网络的实战步骤,特别针对家庭网络光猫桥接模式下的常见问题提供了避坑指南。文章涵盖了从基础配置到企业级部署的进阶内容,包括IPv6前缀获取、DHCPv6客户端设置、路由通告以及安全优化,帮助用户充分利用v7.6版本在IPv6支持上的改进与优势。 阅读详情

相关推荐

应急响应之windows日志分析工具logparser使用

windows日志分析工具logparser使用介绍

u013930899的博客 8125

Party Games UVA - 1610 解题报告

题目大意:自己写一个串S,使得题中给出串一半小于等于S,另一半大于S,如果有多解,输出字典序,最小的。 思路:一道十分细节的题目,里面的细节点太多,导致反复的改,反复的WA。 刚开始的思路,就是排序,比较中间两个串,但是比较里面的细节非常多,特比是在处理末尾字符的时候,自己最后是卡死在末尾全是Z串上,虽然卡的时间比较长,但感觉收获比较多,不卡题怎么进步呢。 下面给出AC代码: #incl...

NCC__dapeng的博客 334

ENSP Pro VXLAN EVPN分布式网关部署配置

在BGP EVPN方式部署分布式网关的场景中,控制平面的流程包括VXLAN隧道建立、MAC地址动态学习;转发平面的流程包括同子网已知单播报文转发、同子网BUM报文转发、跨子网报文转发。该方式实现的功能全面,支持主机IP路由通告、主机MAC地址通告、主机ARP通告,可以直接使能ARP广播抑制功能。如果在VXLAN网络中采用分布式网关,推荐使用此方式。对比集中式网关,分布式网关的arp条目比集中式网关的arp条目少,分布式网关只学习租户侧的arp条目,不学习网络侧的arp条目。

qq2353177176的博客 4562

UVA1610 聚会游戏 Party Games

仔细读题,大于等于而不是大于; 首先对所有字符串排序; 如果在两者最短长度内一直相同,答案就是这一部分; 考虑能不能在第一位不一样的位置j解决,分三种情况:较小串的长度为j+1,较大串与较小串在这一位的差值大于1,较大串的长度>j+1;需保证字典序最小,三种情况应一次讨论; 根据较小串找到最低的能够确定答案的位,注意,如果是最后一位,答案应该是较小串的最后一位; #include <iostream> #include <cstdio> #include <cstri.

gyp0205的博客 212

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1457

别再为3D抓取发愁了!Halcon手眼标定保姆级教程(Eye-to-Hand模式,含完整代码)

本文提供Halcon手眼标定的保姆级教程,详细讲解Eye-to-Hand模式下的3D抓取实现方法。从硬件配置、坐标系系统到标定流程和核心算法,涵盖完整代码和实战经验,帮助用户快速掌握工业自动化中的精准抓取技术。

weixin_42523711的博客 270

uva 1610 Party Games

这是第八章的第二个习题。这是细节上的问题, 想清楚不太难的。。。 #include #include using namespace std; string haha[1003]; int number; string str,s; char ans[100]; void work(); int main() { /*freopen("1610.in","r",stdin); freop

Lighting_的博客 433

半车(前后、左右)、整车悬架详细推导建模和simulink仿真分析

用达朗贝尔定理依据悬架数学模型,得到悬架模型微分方程,分别用simulink建立前后半车、左右半车悬架;结合转向2自由度模型与半车侧倾模型,对模型考虑相干性、延时性的C级随机路面下,仿真分析给定角阶跃输入下的侧倾稳定性。

Mr.邹的博客 1万+

Uva - 1610 - Party Games

细节题目,排序之后拿中间的两个比较,比较麻烦,注意每种可能性,调试了好久,WA了好几次。 AC代码: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu

yofer张耀琦的专栏 800

FPGA设计-Vivado的Off-Chip Termination设置问题

经常遇到在FPGA设计时,很多人很迷惑这些关于硬件的终端匹配怎么设置,Vivado的Off-Chip Termination设置问题,这里就详细说一下这个问题。

whm128的博客 2727

PyTorch实战(14)——图注意力网络(Graph Attention Network,GAT)

本节介绍了图注意力网络 (Graph Attention Network, GAT) 在节点分类任务中的应用。相比图卷积网络 (GCN) 的平均聚合机制,GAT 通过引入注意力机制,能够为不同邻居节点分配差异化权重,从而更精准地捕捉图结构信息。实验表明,GAT 在 CiteSeer 数据集上的分类准确率达到 71.1%,较 GCN 提升 2.5 个百分点。可视化结果显示,GAT 学习到的节点表征具有更好的类别区分度。这验证了注意力机制在图数据建模中的有效性,为处理复杂图结构任务提供了更优解决方案。

盼小辉丶的博客 3568

Party Games UVA - 1610

仔细分析题意,其实很容易发现,如果将整个序列按照字典序排序之后,最终的结果其实仅仅只与最中间的两个字符串序列是有关的,所以后续的求解就很简单了,取出两个最靠中间的字符串,a和b,逐步取a的子串,然后枚举‘A’ 到‘Z’的字符,将二者拼接,假设拼接之后得到的是temp,如果temp>=a&&temp #include #include #include #include #include #inc

zju2016的博客 366

OpenClaw 生成测试用例

OpenClaw 只是躯干,Skills 才是灵魂。很多同学觉得 OpenClaw 没用,就像是买了一台顶级电脑却没装操作系统。通过这四步走,不仅可以学会如何让 AI 干活,更重要的是,可以学会如何管理 AI 的能力。

十二测试录 738

[UVa 1610] 聚会游戏(Party Games)

Judge:https://vjudge.net/problem/UVA-1610 题意:输入一些字符串,找一个长度最短的字符串(不一定是输入的字符串),使得输入的字符串中有一半小于等于该字符串,另一半大于该字符串。若有多解,输出字典序最小的解。

StarlitNight的博客 653

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

UVA1610 聚会游戏 Party Games 题解

个人认为一个比较好理解的解法. 思路: 先对所有字符串进行排序. 只需考虑中间那两个串.先预先判断一下两个串的相同部分,让下标k预先到两个串不同的部分. 设第n/2个串为a串,它下一个串为b串 当遇到不同的字符直接跳出循环,如果k到了a串的最后一个字符都还没发现不同的,那么a串本身就满足条件(此处没考虑k是否超出b串的长度,不过最后提交上去也ac了,代码如下 int i=n/2; string ans; ...

qq_34920482的博客 700

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

UVA1610:Party Games(聚会游戏)

作者:xq的acm之路题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4485题目大意:给出n个字符串,求一个字符串,这个字符串比n中的一半的字典序小,大于等于另一半。n为偶数思路:排序,然后一个个字符的比较就行,,,刚开始用if讨论情况,漏了几种

xqacmer 862

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

习题 8-2 聚会游戏(Party Games, Mid-Atlantic 2012, UVa1610)

原题链接:https://vjudge.net/problem/UVA-1610 分类:贪心法 备注:注意字母范围 #include<bits/stdc++.h> using namespace std; const int maxn=1005; int n; string s[maxn]; int main(void){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); while(cin&g

TK_wang_的博客 364

UVA - 1610 Party Games(聚会游戏)(构造)

题意:输入一个n(2<=n<=1000,n是偶数)个字符串的集合D,找一个长度最短的字符串S(不一定在D中出现),使得D中恰好一半串小于等于S,另一半串大于S。如果有多解,输出字典序最小的解。 分析:找到最中间的两个串,直接按位构造。 #pragma comment(linker, "/STACK:102400000, 102400000") #include&lt...

Cherrychan2014的博客 229

[字符串] UVa1610 Party Games 聚会游戏(简单模拟)

题目 给出n个串(n为偶数); 要构造一个串,使n串中有一半小于等于它,另外一半大于它; 要求这个串长度尽量小,同时字典序小; 思路 细节较多使人烦躁的模拟题而已 代码 #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #inc...

OI - IceCab 357

习题8-2 聚会游戏(Party Games, Mid-Atlantic 2012, UVa1610)

思路: 构造题,挫败感max。orz。。。。 容易想到ans为sort后中间两个字符串a,b之间的串。 由于要求长度以及字典序最小,可以按照这两个来枚举构造。 若某长度无解,则ans加上a串的当前字符。#include #include #include #include #include #include #include #include #include #incl

%%% 330

习题8-2 UVA - 1610 Party Games 聚会游戏 (构造字符串)

大体题意: 给你n 个字符串(n 是偶数),让你构造一个字符串ans,使得n个字符串中有一半字典序小于等于ans  另一半大于ans。 思路: 稍微借鉴了学长的博客 = = ! 感觉写的确实很巧妙! 整体思路就是建立一个空的string  然后暴力一位一位的加字母判断就可以了! 首先: 先给string 数组s进行排序,在取出两个字符串u = s[n/2-1]  v = s[n/2]

aozil_yang的博客 517

UVa:1610 Party Games(字符串处理)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=845&page=show_problem&problem=4485 题意:输入一个n(2 ≤n≤1000,n是偶数)个字符串的集合D,找一个长度最短的字符串(不一定在D中出现)S,使得D中恰好一半串小于等于S,另一半串大于

nullptr 620

Uva 1610 - Party Games(模拟)

 You’ve been invited to a party. The hostwants to divide the guests into 2 teams for party games, with exactly the samenumber of guests on each team. She wants to be able to tell which guest is onwhic...

Change the world by program. 362

UVa 1610 - Party Games(细节处理)

输入一个含有偶数个串的集合,求一个字符串s0,使集合中一半的串大于s0,另一半小于等于s0,多解输出字典序最小的解。只需将s与中间两个串比较即可。 新串s0从空串开始,每次循环加上一个s1中对应位置的字符。只要满足条件就跳出循环,输出。

wcr1996的专栏 2581
上一篇: uva 11572 Unique Snowflakes (唯一的雪花)
下一篇: 标准C++中的string类的用法总结[转载]
NANAN-
博客等级 码龄9年 12粉丝 21原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值