当前位置: 首页 > 编程日记 > 正文

【UVA/Codeforces】1584 Circular Sequence / 792B Counting-out Rhyme(就是一个圈儿...)

https://vjudge.net/problem/UVA-1584

1584 Circular Sequence

输入一个字符串,可以以字符串中任意一个字母作为起始,输出字典序最小的那个字符串

两种方法,一种是设两个标记

【样例输入】CGAGTCAGCT

【样例输出】AGCTCGAGTC

一开始 ans = 0,i=1;(C < G)ans不变

当i = 2时,ans = 0,因为A < C,所以 ans = 2;

当i = 6时,这时ans = 2,一直往后比较,因为ans指向的第三个字符是T,i 指向的第三个字符是C,C < T,所以ans = 6;

最后输出。

下面这个程序是通过一个一个比较去找到字典序最小的那一个。即ans = 6以后,for循环仍然继续。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;char s[105];
int len;
int fun(int ans,int i)
{for(int j=0;j<len;j++){if(s[(ans+j)%len]!=s[(i+j)%len])return s[(ans+j)%len] > s[(i+j)%len];}return 0;
}int main ()
{int i,T;scanf("%d",&T);while(T--){scanf("%s",s);int ans = 0;len = strlen(s);for(i=1;i<len;i++){if(fun(ans,i))ans = i;}for(i=0;i<len;i++){printf("%c",s[(ans+i)%len]);}printf("\n");}return 0;
}

稍加改进以后是直接找出字符串中最小的那一个字符,再看该字符是否出现不止一次

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;char s[105];
int len;
int fun(int ans,int i)
{for(int j=0;j<len;j++){if(s[(ans+j)%len]!=s[(i+j)%len])return s[(ans+j)%len] > s[(i+j)%len];}return 0;
}int main ()
{int i,T;scanf("%d",&T);while(T--){scanf("%s",s);int ans = 0;char str = 'Z';len = strlen(s);for(i=0;i<len;i++){if(s[i]<str){ans = i;str = s[i];}}	for(i=0;i<len;i++){if(s[i]==s[ans] && i!=ans){if(fun(ans,i)){ans = i;}}}for(i=0;i<len;i++){printf("%c",s[(ans+i)%len]);}printf("\n");}return 0;
}

因为字符串不是很长,也可以用string来写

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;int main ()
{int i,T;cin >> T;string s;while(T--){string minn(105,'Z');char str = 'Z';cin >> s;for(i=0;i<s.length();i++){if(s[i] < str)str = s[i];}for(i=0;i<s.length();i++){if(s[i]==str){string ans = s.substr(i,s.length()-i) + s.substr(0,i);if(ans < minn)minn = ans;}}cout << minn << endl;}return 0;
}

792B  Counting-out Rhyme

http://codeforces.com/problemset/problem/792/B

有n个小朋友,编号分别是从1到n,每个小朋友都有当领导的机会,第一次是1号小朋友当领导,下面一行是k个数,每个数用一遍,从当领导的小朋友往后数(领导不算在内)a[i]个,可以把这n个人看成一个循环,到哪个小朋友截至,则这个小朋友要退出游戏,退出的小朋友的后面一个人成为新的领导,知道用完k个数,按顺序输出退出的小朋友的编号。

模拟+vector

#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
int a[105];
int main ()
{vector<int> v;int i,n,k;cin >> n >> k;for(i=1;i<=n;i++){v.push_back(i);}for(i=0;i<k;i++){cin >> a[i];}int pos = 0;int j = 0;while(k--){pos = (pos+a[j++])%v.size();cout << v[pos] ;if(k)cout << " ";v.erase(v.begin()+pos);}cout << endl;return 0;
} 

相关文章:

一个free异常引发的异常

有同事反馈说自己的线程不工作&#xff0c;查看堆栈发现其打印如下&#xff1a; #0 0x00007f291f72e7be in __lll_lock_wait_private () from /lib64/libc.so.6 #1 0x00007f291f6c2e4e in _L_lock_9925 () from /lib64/libc.so.6 #2 0x00007f291f6c1101 in free () from /li…

欧拉角和旋转矩阵相互转换

目录 1.参考资料 2.变换矩阵/F/H的svd分解或者旋转矩阵、平移矩阵求解 3. 欧拉角和旋转矩阵可同样表示刚体在三维空间的旋转&#xff0c;下面分享这两者互相转换的方法和核心代码 1.参考资料 2.变换矩阵/F/H的svd分解或者旋转矩阵、平移矩阵求解 欧拉角转旋转矩阵 欧拉角…

【Codeforces】 2A - Winner (map)

http://codeforces.com/problemset/problem/2/A So, if two or more players have the maximum number of points (say, it equals to m) at the end of the game, than wins the one of them who scored at least m points first. 所以只有一个只有一个map不行&#xff0c;…

[译]Godot系列教程一 - 场景与节点

场景(Scene)与节点(Node) 简介 先设想有那么一瞬间你自己不再是一名游戏开发者了&#xff0c;而是一名大厨&#xff01; 你的装备换成了一套大厨的制服。不要考虑制作游戏的事情&#xff0c;你现在的职责是为你的顾客创建新的可口的食谱。 那么&#xff0c;大厨是怎样创建食谱的…

EOS与以太坊有哪些区别?

想知道更多关于区块链技术知识&#xff0c;请百度【链客区块链技术问答社区】 链客&#xff0c;有问必答&#xff01;&#xff01;EOS与以太坊有哪些区别&#xff1f; 以太坊是一个专门为开发和运行去中心化应用&#xff08;DAPP&#xff09;搭建的智能合约平台&#xff1b;EOS…

图像特征点检测与匹配评价准则——量化

欢迎转载&#xff0c;转载请注明出处&#xff0c;谢谢&#xff01; 目前图像匹配中&#xff0c;局部特征匹配占据了绝大部分&#xff0c;常用的局部特征匹配方法有Harris、SIFT、SURF、ORB等等&#xff0c;不同的特征点检测和匹配方法尤其独特的优势和不足&#xff1b; 特征点匹…

path,classpath

1.path作用. 在环境变量里面配置 winr 打开cmd qq窗口就弹开了。 2.classpath是java里的选项。 java执行java类的时候&#xff0c;会去看这个java类是否在classpath路径下。不在就不能编译转载于:https://www.cnblogs.com/shapeOfMyHeart/p/5975686.html

【Codeforces】401C Team (01010110...)

http://codeforces.com/contest/401/problem/C 题目中&#xff0c;n表示0的个数&#xff0c;m表示1的个数&#xff0c;要求两个0不能连续&#xff0c;三个1不能连续 还要判断能否输出满足要求的序列&#xff0c;不满足输出-1 满足条件以后徐瑶分情况讨论 当1比0多&#xff…

表白这件事,比解 bug 要难多少?

情人节快乐&#xff01;我是可爱无敌的阿里妹。 今天是个粉红色日子&#xff0c;我们来聊聊和技术无关的“技术活”&#xff0c;比如&#xff1a; “如何表白&#xff1f;” 当技术人碰上动心的姑娘&#xff0c;他的浪漫开关就打开了。 在代码王国里劈荆斩刺的王子&#xff0c;…

特征点匹配+特征检测方法汇总

特征点匹配特征检测方法汇总特征提取与匹配---SURF&#xff1b;SIFT&#xff1b;ORB&#xff1b;FAST&#xff1b;Harris角点匹配方法匹配函数1. OpenCV提供了两种Matching方式&#xff1a;• Brute-force matcher (cv::BFMatcher) //暴力方法找到点集1中每个descriptor在点…

元数据驱动的微服务架构(上)

本次分享有两个部分&#xff1a; 微服务架构需要元数据 介绍微服务与元数据的关系。 一、微服务架构需要元数据 企业IT架构已经发展了多个阶段&#xff0c;一方面是服务化架构的发展&#xff0c;在SOA阶段主要解决应用间集成问题&#xff0c;但随着企业业务的发展&#xff0c;…

【Codeforces】427B Prison Transfer(别让罪犯跑了...)

http://codeforces.com/problemset/problem/427/B 从一串数字中选出连续的长度为c的子串&#xff0c;且子串中的每一个数都不能大于t&#xff0c;问这样的子串有多少个 TLE&#xff0c;看看n的范围就知道了&#xff0c;哎呀呀&#xff0c;有点chun #include <iostream>…

PHPUnit实践三(构建模块化的测试单元)

本系列教程所有的PHPUnit测试基于PHPUnit6.5.9版本&#xff0c;Lumen 5.5框架 目录结构 模块下的目录是符合Lumen的模块结构的如&#xff1a;Controllers、Models、Logics等是Lumen模块目录下的结构目录如果有自己的目录同级分配即可&#xff0c;如我这里的Requests 整体结构 ├…

SLAM笔记(五)光束平差法(Bundle Adjustment)

1.什么是光束平差法 前边的八点法&#xff0c;五点法等可以求出闭式解的前提是已经知道确切的点对。但实际情况中往往存在大量的噪声&#xff0c;点与点不是精确地对应甚至出现一些错误匹配。 光束平差法由Bundle Adjustment翻译得来&#xff0c;有两层意思&#xff1a; 对场…

【Code forces】63B Settlers' Training

http://codeforces.com/problemset/problem/63/B 给你一串数字&#xff0c;直到所有数字都变为k为止&#xff0c;相同的数为一组&#xff0c;在一次中&#xff0c;所有不同的数都加1 1 2 2 3 → 2 2 3 4 → 2 3 4 4 → 3 4 4 4 → 4 4 4 4 #include <ios…

[elixir! #0007] [译] 理解Elixir中的宏——part.5 重塑AST by Saša Jurić

上一章我们提出了一个基本版的deftraceable宏&#xff0c;能让我们编写可跟踪的函数。宏的最终版本有一些剩余的问题&#xff0c;今天我们将解决其中的一个——参数模式匹配。 今天的练习表明我们必须仔细考虑宏可能接收到的输入。 问题 正如我上一次暗示的那样&#xff0c;当前…

vue-cli3环境变量与分环境打包

第一步 : 了解环境变量概念 我们可以根目录中的下列文件来指定环境变量: .env # 在所有的环境中被载入 .env.local # 在所有的环境中被载入&#xff0c;但会被 git 忽略 .env.[mode] # 只在指定的模式中被载入 .env.[mode].local # 只在指定…

SLAM闭合回环————视觉词典BOW小结

在目前实际的视觉SLAM中&#xff0c;闭环检测多采用DBOW2模型https://github.com/dorian3d/DBoW2&#xff0c;而bag of words 又运用了数据挖掘的K-means聚类算法&#xff0c;笔者只通过bag of words 模型用在图像处理中进行形象讲解&#xff0c;并没有涉及太多对SLAM的闭环检测…

【Codeforces】53D Physical Education (有点像冒泡)

http://codeforces.com/problemset/problem/53/D 从上面所给的序列变成下面所给的序列 交换的时候只能交换相邻的两个数字 输出每一步的交换方法&#xff0c;输出的是该元素在序列中的位置&#xff08;第一个数的位置是1&#xff09; 不要求输出步数最少的那一种方法 当同…

js脚本冷知识

js中有个很恶心的写法。比如这个var adsf(function(){})();这样的写法&#xff0c;主要是原生的&#xff0c;能在dom元素加载完之后实现自动加载这个脚本文件到里面去。可以验证这个&#xff08;function(){.......&#xff09;&#xff08;&#xff09;;在.......里面可以直接…

Python中is同一性运算符和==相等运算符区别

2019独角兽企业重金招聘Python工程师标准>>> 在区分is和这两种运算符区别之前&#xff0c;需要知道Python中对象包含的三个基本要素&#xff0c;分别是&#xff1a;id(身份标识)、type(数据类型)和value(值)。 比较对象的value(值) 是python标准操作符中的比较操作符…

C++实现十大排序算法(冒泡,选择,插入,归并,快速,堆,希尔,桶,计数,基数)排序算法时间复杂度、空间复杂度、稳定性比较(面试经验总结)

排序算法分类 内部排序算法又分为基于比较的排序算法和不基于比较的排序算法&#xff0c;其分类如下&#xff1a; 比较排序&#xff1a; 直接插入排序 希尔排序 &#xff08;插入&#xff09; 冒泡排序 快速排序 (交换) 直接选择排序 堆排序&#xff08;选择&#…

32位处理器是什么意思

问题描述&#xff1a;朋友那个32位处理器&#xff0c;2的32次方算出来的单位是不是应该是4294967296位&#xff08;bit&#xff09;吧&#xff0c;怎么就成字节了呢&#xff1f;单位错了&#xff0c;那个32位是指32位地址总线&#xff0c;而不是32位数据。地址的数量单位是个&a…

【Codeforces】913C Party Lemonade (贪...)。

http://codeforces.com/contest/913/problem/C 这个题和以前见过的有点不一样&#xff0c;可以重复选择&#xff0c;这个有点emmm 首先将a数组优化&#xff0c;举个例子&#xff0c;如果1L20元&#xff0c;2L50元&#xff0c;那么将a[1]赋值为40&#xff0c;而不是50。 之后…

GDB 调试 Mysql 实战(二)GDB 调试打印

背景 在 https://mengkang.net/1328.html 实验中&#xff0c;我们通过optimizer_trace发现group by会使用intermediate_tmp_table&#xff0c;而且里面的的row_length是20&#xff0c;抱着"打破砂锅问到底"的求学精神&#xff0c;所以想通过 gdb 调试源码的方式看这个…

移动端AR的适用分析(二)

移动端AR的适用分析&#xff08;二&#xff09;1. 单目SLAM难点 2. 视觉SLAM难点 3. 可能的解决思路 单目slam的障碍来自于理论和实践两个方面。理论障碍可以看做是固有的&#xff0c;无法通过硬件选型或软件算法来解决的&#xff0c;例如单目初始化和尺度问题。实践问题包括计…

新的理念、 新的解决方案、 新的Azure Stack技术预览

Jeffrey Snover 我们很高兴地宣布︰ Azure Stack Technical Preview 2&#xff08;TP2&#xff09;已发布&#xff01;我们朝着向您的数据中心提供Azure服务能力的目标又更近一步。自发布第一个技术预览版&#xff08;TP1&#xff09;以来&#xff0c;我们访问了很多用户&…

【HDU】1084 What Is Your Grade? (结构体 sort)

http://acm.hdu.edu.cn/showproblem.php?pid1084 题目的关键&#xff1a; 1、Note, only 1 student will get the score 95 when 3 students have solved 4 problems. If you can solve 4 problems, you can also get a high score 95 or 90 (you can get the former(前者)…

FastDFS之Linux下搭建

1.软件环境 CentOS6.5 FastDFS v5.05 libfastcommon- - master.zip&#xff08;是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库&#xff09; fastdfs- - nginx- - module_v1.16.tar.gz nginx- - 1.6.2.tar.gz fastdfs_client_java._v1.25.tar.gz 2.FastDFS集群规划 描述 …

Linux进程与线程的区别 详细总结(面试经验总结)

首先&#xff0c;简要了解一下进程和线程。对于操作系统而言&#xff0c;进程是核心之核心&#xff0c;整个现代操作系统的根本&#xff0c;就是以进程为单位在执行任务。系统的管理架构也是基于进程层面的。在按下电源键之后&#xff0c;计算机就开始了复杂的启动过程&#xf…