POJ 3617 - Best Cow Line(贪心)

别再为RK3588 NPU环境头疼了!手把手教你用Conda搞定rknn-toolkit2安装(附国内源加速) 本文详细介绍了如何通过Conda虚拟环境高效配置RK3588 NPU开发环境,解决rknn-toolkit2安装中的常见问题。从Python版本选择到国内镜像源加速,再到模型转换与部署优化,手把手教你避开环境配置的坑,快速搭建稳定的NPU开发环境。 阅读详情

Best Cow Line
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 7377 Accepted: 2322

Description

FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Year" competition. In this contest every farmer arranges his cows in a line and herds them past the judges.

The contest organizers adopted a new registration scheme this year: simply register the initial letter of every cow in the order they will appear (i.e., If FJ takes Bessie, Sylvia, and Dora in that order he just registers BSD). After the registration phase ends, every group is judged in increasing lexicographic order according to the string of the initials of the cows' names.

FJ is very busy this year and has to hurry back to his farm, so he wants to be judged as early as possible. He decides to rearrange his cows, who have already lined up, before registering them.

FJ marks a location for a new line of the competing cows. He then proceeds to marshal the cows from the old line to the new one by repeatedly sending either the first or last cow in the (remainder of the) original line to the end of the new line. When he's finished, FJ takes his cows for registration in this new order.

Given the initial order of his cows, determine the least lexicographic string of initials he can make this way.

Input

* Line 1: A single integer: N
* Lines 2..N+1: Line i+1 contains a single initial ('A'..'Z') of the cow in the ith position in the original line

Output

The least lexicographic string he can make. Every line (except perhaps the last one) contains the initials of 80 cows ('A'..'Z') in the new line.

Sample Input

6
A
C
D
B
C
B

Sample Output

ABCBCD

========================

每次取首尾中的一个字母放在新数组里,使最后结果字典序最小,贪心即可,取首尾中较小的一个。若相等则一起向中间搜,当找到第一个不相等的时候取较小的一边的第一个字母,若全部相等则随便取一边即可

注意题目要求中间没有空格一行最多80个字符


#include <iostream>

using namespace std;

int main()
{
    int n;
    char a[2222],b[2222];
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];
    int i=0,j=n-1;
    int sz=0;
    while(i<=j)
    {
        if(a[i]<a[j])
        {
            b[sz++]=a[i];
            i++;
        }
        else if(a[i]>a[j])
        {
            b[sz++]=a[j];
            j--;
        }
        else
        {
            int p,q;
            for(p=i+1,q=j-1;p<q;p++,q--)
            {
                //cout<<"--------"<<endl;
                if(a[p]<a[q])
                {
                    b[sz++]=a[i];
                    i++;
                    break;
                }
                else if(a[p]>a[q])
                {
                    b[sz++]=a[j];
                    j--;
                    break;
                }
            }
            if(p>=q)
            {
                b[sz++]=a[i];
                i++;
            }
        }
    }
    cout<<b[0];
    for(int i=1;i<sz;i++)
    {
        if(i%80==0) cout<<endl;
        cout<<b[i];
    }
    cout<<endl;
    return 0;
}


【题解】POJ 3617 Best Cow Line(贪心) POJ 3617 Best Cow Line 原题 https://vjudge.net/problem/POJ-3617 FJ准备带他的N(1≤N≤2000)头奶牛参加一年一度的“年度农民”比赛。在这场比赛中,每个农民把他的奶牛排成一排,并把它们赶过裁判。 比赛的组织者今年采用了一种新的登记方案:只要按照每头奶牛出现的顺序登记它们的首字母即可。,如果FJ按此顺序接收贝西、西尔维娅和朵拉,他... 阅读详情

相关推荐

【代码超详解】POJ 3617 Best Cow Line(贪心)

一、题目描述 FJ 带着他的牛去参加一年一度的 Farmer of the Year 评选。每头牛都有一个名字,注册时按牛的队列顺序取首字母进行注册。例如: Bessie, Sylvia, and Dora 三头牛的注册结果是 BSD 。而后,根据字典序来完成判定。 现在 FJ 已经来不及返回农场给牛重新整队了,为了能够尽快参评,他决定在注册前夕当场重排他的牛。他开了一条新队,然后每次只将剩余的牛...

COFACTOR 410

POJ3617 Best Cow Line Greedy

给你一个字符串,每次两种操作将字符串重组,字典序最小。 将第一个字符加在新字符串尾部 将最后一个字符加在新串尾部 从前从后比较两个字符串字典序,选择小的第一个字符添加到新串尾部,反复如此。相同时随便选一个。不能够简单比较第一个字符。 Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K

1412

DETRs with Collaborative Hybrid Assignments Training论文阅读与代码

在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习,反之亦然,也会影响解码器中的注意力学习。为了缓解这个问题,作者提出了一种新颖的协同混合分配训练方案,名为Co-DETR,以从多样的标签分配方式中学习更高效、更有效的基于DETR的检测器。这种新的训练方案可以通过训练多个并行辅助 Head ,以一对多的标签分配方式(如ATSS和Faster RCNN)进行监督,轻松增强端到端检测器中编码器的学习能力。

qingjing0413的博客 1156

RKNN-Toolkit2 v2.3.2安装

介绍了在Docker环境下安装rknn-toolkit2 v2.3.2的步骤:首先下载并解压工具包,使用Dockerfile构建Ubuntu 20.04镜像;然后安装Python 3.8、编译工具和PyTorch 1.10.1;最后安装rknn_toolkit2核心包并启动容器。成功启动后即可进入RKNN官方编译环境进行开发。整个过程包括镜像构建、依赖安装和容器运行三个主要阶段。

anandzw的博客 451

【Cadence】Virtuoso@LayoutXL 差分电路版图镜像同步技巧详解

本文详细介绍了在Cadence Virtuoso LayoutXL中实现差分电路版图镜像同步的技巧,包括核心需求、环境配置、分步操作指南及高级技巧。通过使用LayoutXL的Group功能,工程师可以高效保持差分电路的对称性,提升版图迭代效率,确保高速信号处理的稳定性。特别适用于深亚微米工艺下的差分放大器设计。

weixin_29215391的博客 323

智能座舱音频系统集成与调试:从芯片选型到音质优化实战

在智能座舱域控制器架构中,音频系统已从简单的功放加扬声器演进为SoC、数字音频总线、外部DSP与多通道功放协同的复杂子系统。TDM总线的时隙分配、PDM麦克风阵列的信号完整性,以及AEC回声消除算法如何与硬件协同,直接决定多音区体验和语音交互的可靠性。工程实践中,音频调试的关键在于先理顺供电、接地、时钟与数据路由,再针对功放削波、采样率失配、TDM slot错位等典型问题进行系统性排查。从芯片选型到系统级指标验收,只有将音频链路视为整车电子电气架构的一个协同整体,才能真正实现从“响”到“好听”的跨越。本文结

weixin_30162121的博客 364

POJ3617--Best Cow Line(贪心水题)

POJ3617–Best Cow Line(贪心水题) 原题链接: POJ3617. 题目简述 给定长度为N的字符串S,要构造一个长度为N的字符串T。起初,T是一个空串,随后反复进行如下任意操作。 从S的头部删除一个字符,加到T的尾部 从S的尾部删除一个字符,加到T的尾部 标准输入: 第1行:单个整数:N 第2行:输入长度为N的字符串。 标准输出: 输出最小的字典串,每行80个。 示例输入: 6 A C D B C B 示例输出: ABCBCD 贪心思路: 目的是要构造字典序尽量小的字符串T 从

m0_51155633的博客 579

[原创]Linux 802.11n CSI tool Monitor模式

Linux 802.11n CSI tool Monitor模式 使用AP模式的缺陷在于ping 命令速度比较慢,且不能精确控制发送的参数,比如接收的包数量是不可控的。Monitor模式可以调制发送速率、发包数量、发送天线个数、HT模式、short/long guard interval等等,因此调通Monitor模式是必须的。期间参考了博主沃一德的CSI Tool安装使用讲解,对他的工作表示感...

u014645508的博客 1万+

POJ 3617-字典序列

一、Java: import java.util.Scanner; public class Main{ //采用的是翻转字符串进行比较的方法,所以来说这个方法更加简单地比较字符串 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); StringBuilder ss = new String

ଳxin的博客 338

Python异步协程爬虫优化:解决aiohttp中ServerDisconnectedError的高效策略

本文深入探讨了在Python异步协程爬虫中使用aiohttp时,如何高效解决常见的ServerDisconnectedError问题。核心策略包括全局复用ClientSession、精细配置TCPConnector连接池、实施请求重试与速率限制,从而构建稳定、高效的异步爬虫架构,有效避免服务器断开连接错误。

pz890123的博客 859

代号OneNET02 STM32+ESP8266 WIFI系列-第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级

第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级,这一节主要是实现通过OneNET OTA服务器将需要更新的程序远程下载到STM32单片机,这一节主要是引导程序和应用程序的讲解。

weixin_44862509的博客 1904

POJ 3617 Best Cow Line 贪心算法

题目链接:Best Cow Line 贪心策略是:一直从S字串两侧寻找小的字符,特殊情况是:如果两侧字符一样,向内侧比较并获取答案。(不过感觉这步做了很多无用功,尤其是回文串的情况) 代码如下: View on Github #include #include #include #include using namespace std; vector S; bool operat

Kiritow的学园 565

别再到处找模型了!手把手教你用Xinference+Docker部署本地私有大模型(Llama2/Qwen实战)

本文详细介绍了如何使用Xinference和Docker部署本地私有化大模型(如Llama2/Qwen),涵盖硬件配置、模型管理、Docker部署及性能优化等关键步骤。通过实战案例,帮助开发者快速构建企业级AI推理服务,确保数据安全与高效运行。

weixin_28683065的博客 232

poj 3617 Best Cow Line 贪心

poj 3617 Best Cow Line 题目链接: http://poj.org/problem?id=3617 思路: 贪心 第一个字母和最后一个字母比较字典序,果如大小相同,左边指针++,右边指针--,继续比较 最后注意输出格式:每80个字母换一次行 代码: #include <iostream> #include <stdio.h> using n...

ddqb3235的博客 263

Android Telephony主要模块及功能

Telephony的代码主要由五个模块组成 1.Telephony Frameworks 代码区域: frameworks/opt/telephony/ 其中主要的文件在如下目录 /frameworks/opt/telephony/src/java/com/android/internal/telephony/ 其中比较常见的有以下几类文件 1.BaseCommands、RIL构成R

泊客 7723

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【贪心】POJ 3617:Best Cow Line

一、题目内容 POJ 3617 原题地址 二、题意解释 给定一个字符串,重排,每次从头或尾取较小值放到新序列的末尾。 题目要求是每80个为一行输出。 三、代码及注释 #include<cstdio> using namespace std; int n; char S[2001]; int main() { scanf("%d",&n); for(int j=0; j<n; j++) { scanf(" %c",&S[j]);

szy_fasheng的博客 1040

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Best Cow Line(POJ 3617) 贪心

来自《挑战程序设计竞赛》 1.题目原文 http://poj.org/problem?id=3617 Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19765   Accepted: 5457 Description

相思作坊半世离殇的博客 475

STM32F407中文手册

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

POJ 3617——Best Cow Line(贪心)

链接:http://poj.org/problem?id=3617 题解 #include<iostream> using namespace std; const int MAX_N=2e3+50; int N; //输入字符串的字符个数 int count; //记录字符个数,满足换行要求 char S[MAX_N]; //存放字符串的数组 void solve(...

享受孤独 329

poj 3617 Best Cow Line(贪心)

poj 3617 Best Cow Line (贪心) 题目链接:http://poj.org/problem?id=3617 题目意思:给出一条长度为n的字符串S,目标是要构造一条字典序尽量小,长度为n的字符串T。构造的规则是,如果S的头部的字母 S的尾部的字母,那么将S的尾部的字母加入到T中,删除S的尾部的字母。    这个题目的关键是如何处理 S 的头部的字母(假设用

The_star_is_at的博客 369

贪心算法 poj3617 Best Cow Line

题目链接:http://poj.org/problem?id=3617 大概的中文意思: 比较好的一种思路,令输入的序列为s1,s1的反转的序列为s2; 按照字符串的比较来比较s1和s2的大小,若s1!=s2 则取小的那一个的首字母加入到T序列 若s1 == s2 则默认取s1的首字母加入到T序列。取谁的首字母,谁就往后移动一步。 ...

tobe_numberone的博客 355

POJ 3617 Best Cow Line 【贪心】

贪心算法之字典序最小问题

博客已搬迁到http://www.cnblogs.com/cniwoq/ 363

Best Cow Line POJ - 3617(贪心)

Best Cow Line POJ - 3617 FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Year" competition. In this contest every farmer arranges his cows in a line and herds them past the ...

rainbowsea_1的博客 242

poj 3617 Best Cow Line 【贪心】

Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14715   Accepted: 4187 Description FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual

dxx_111的博客 544

POJ 3617 Best Cow Line 字典序贪心

给定一个长度为N的字符串S,要构造一个长度为N的字符串T. 起初,T是一个空串,随后反复进行下列任意操作: (1)从S的头部删除一个字符,加到T的尾部。 (2)从S的尾部删除一个字符,加到T的尾部。 目标是要构造字典序尽可能小的字符串T。 《挑战》书上的原题,贪心嘛。很明显的。 但是,(在我的代码上总有意外???),在比较头尾两个字符的时候,碰见相等的字符,需要继续比较各自下...

117瓶果粒橙 213

poj3617 Best Cow Line【贪心】

题目链接:http://poj.org/problem?id=3617 题意:给你一个长度为n的字符串S,让你用这个字符串构建一个新的字符串T,构建过程可以反复使用一下任意一种操作 将S的第一个元素删除,放在T的尾部 将S的最后一个元素删除,放在T的头部 让你尽可能的使得T的字典序最小 解析:每次从S拿元素时,只要保证拿到的最小即可,如果头尾选择的元素相等则比较他们下一位,直至比出大小为止

22h's Blog 373

POJ3617Best Cow Line(贪心)

传送门:http://poj.org/problem?id=3617 Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 23932   Accepted: 6498 Description FJ is about to t

qq_38121348的博客 283
上一篇: POJ 3190 - Stall Reservations(贪心)
下一篇: POJ 3253 - Fence Repair(贪心)
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值