Codeforces Round #352 (Div. 2),A题与B题题解代码,水过~~
1 second
256 megabytes
standard input
standard output
Every year, hundreds of people come to summer camps, they learn new algorithms and solve hard problems.
This is your first year at summer camp, and you are asked to solve the following problem. All integers starting with 1 are written in one line.
The prefix of these line is "123456789101112131415...". Your task is to print the n-th
digit of this string (digits are numbered starting with 1.
The only line of the input contains a single integer n (1 ≤ n ≤ 1000) —
the position of the digit you need to print.
Print the n-th digit of the line.
3
3
11
0
In the first sample the digit at position 3 is '3',
as both integers 1 and 2 consist
on one digit.
In the second sample, the digit at position 11 is '0',
it belongs to the integer 10.
与其做BC还不如做CF,CF上的题真的是很好,虽然每次只能做两个。
这道题题意很简单,就是一连串的数字排列在一起,求第n位是几;其实一看这种题就知道是规律题,但奈何脑袋笨,只能用笨方法做,我们可以打表将这些位都存起来,数据范围不大,所以估算到400就足够有1000位了;
#include<bits/stdc++.h>
using namespace std;
const int N=1000+10;
int a[N];
int main()
{
int n,i,j=1;
for(i=1;i<550;i++)//其实到400就足够了;
{
int x=i;
if(x<=9)
a[j++]=x;
else if(x<=99)//将两位数拆开存起来,下面同理;
{
int x1=x%10,x2=x/10;
a[j++]=x2,a[j++]=x1;
}
else
{
int x1=x%10,x2=(x%100)/10,x3=x/100;
a[j++]=x3,a[j++]=x2,a[j++]=x1;
}
if(j>=N) break;//N应该稍微开大一点,我在开始定义1000结果贡献了一个WA;
}
while(~scanf("%d",&n))
{
printf("%d\n",a[n]);
}
return 0;
}
其实考的就是思路,思路清晰代码能力可以这题就没什么问题了;
2 seconds
256 megabytes
standard input
standard output
A wise man told Kerem "Different is good" once, so Kerem wants all things in his life to be different.
Kerem recently got a string s consisting of lowercase English letters. Since Kerem likes it when things are different, he wants allsubstrings of
his string s to be distinct. Substring is a string formed by some number of consecutive characters of the string. For example, string
"aba" has substrings "" (empty substring), "a",
"b", "a", "ab",
"ba", "aba".
If string s has at least two equal substrings then Kerem will change characters at some positions to some other lowercase English letters.
Changing characters is a very tiring job, so Kerem want to perform as few changes as possible.
Your task is to find the minimum number of changes needed to make all the substrings of the given string distinct, or determine that it is impossible.
The first line of the input contains an integer n (1 ≤ n ≤ 100 000) —
the length of the string s.
The second line contains the string s of length n consisting
of only lowercase English letters.
If it's impossible to change the string s such that all its substring are distinct print -1.
Otherwise print the minimum required number of changes.
2
aa
1
4
koko
2
5
murat
0
In the first sample one of the possible solutions is to change the first character to 'b'.
In the second sample, one may change the first character to 'a' and second character to 'b',
so the string becomes "abko".
第一次看见B题这么水,哈哈,还没A题麻烦;
题意:给你一个长度为n的字符串,在其所有的子集中如果至少有两个相同的则要替换某个字母,其实单个字母就是一个子集,所以只要这个字符串中有多少个相同的就得替换多少个字母,但是,我们知道,超过26个字母无论怎么替换都有相同的,所以只要长度大于26则应该输出-1,反之求出重复字母个数输出;
至于怎么求出不同字母个数嘛;介绍一个简单函数unique(),这个我在文章分类中的知识点中已经给出了具体用法,下面来看超简洁代码:
#include<bits/stdc++.h>
using namespace std;
const int N=100000+10;
char a[N];
int main()
{
int n;
while(~scanf("%d",&n))
{
scanf("%s",a);
sort(a,a+n);
int x=unique(a,a+n)-a;
if(n>26)
printf("-1\n");
else
printf("%d\n",n-x);//输出重复的个数;
}
return 0;
}
目前能力只能水前两个题,请见谅;
Codeforces Round #352 (Div. 2),A题与B题题解代码,水过~~的更多相关文章
- Codeforces Round #575 (Div. 3) 昨天的div3 补题
Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...
- Codeforces Round #303 (Div. 2) D. Queue 傻逼题
C. Woodcutters Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/545/probl ...
- Codeforces Round #352 (Div. 1) B. Robin Hood
B. Robin Hood 讲道理:这种题我是绝对不去(敢)碰的.比赛时被这个题坑了一把,对于我这种不A不罢休的人来说就算看题解也要得到一个Accepted. 这题网上有很多题解,我自己是很难做出来的 ...
- Codeforces Round #352 (Div. 2) B. Different is Good 水题
B. Different is Good 题目连接: http://www.codeforces.com/contest/672/problem/B Description A wise man to ...
- Codeforces Round #352 (Div. 2) A. Summer Camp 水题
A. Summer Camp 题目连接: http://www.codeforces.com/contest/672/problem/A Description Every year, hundred ...
- Codeforces Round #371 (Div. 2) D. Searching Rectangles 交互题 二分
D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just lea ...
- Codeforces Round #352 (Div. 2) C. Recycling Bottles 暴力+贪心
题目链接: http://codeforces.com/contest/672/problem/C 题意: 公园里有两个人一个垃圾桶和n个瓶子,现在这两个人需要把所有的瓶子扔进垃圾桶,给出人,垃圾桶, ...
- Codeforces Round #310 (Div. 2) A. Case of the Zeros and Ones 水题
A. Case of the Zeros and Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/con ...
- Codeforces Round #352 (Div. 2) D. Robin Hood
题目链接: http://codeforces.com/contest/672/problem/D 题意: 给你一个数组,每次操作,最大数减一,最小数加一,如果最大数减一之后比最小数加一之后要小,则取 ...
随机推荐
- WebSphere中配置的数据源在Web应用中引用的写法
WebSphere中配置的数据源在Web应用中引用时名称一定要和数据源的JNDI名称保持一致,否则会出现无法找到数据源的错误. 引用WAS的数据源时只需要与JNDI名称保持一致即可. 引用Tomcat ...
- Liferay门户部署至Apusic Application Server域
Liferay默认情况下部署在Tomcat容器中,因项目原因需要将Liferay部署至金蝶Apusic Application Server应用服务器中,部署过程如下,特此记录. 1.liferay- ...
- 自定义View(12)绘制.9图片
代码如下: // 绘制.9图片 void draw9Path(Canvas canvas){ //创建一个ninePatch的对象实例,第一个参数是bitmap.第二个参数是byte[],这里其实要求 ...
- C语言中Static和Const关键字的的作用 -- 转
static作用:“改变生命周期” 或者 “改变作用域” 程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中. 1.作用于变量: 用static声明局部变量-- ...
- Java socket2
通过socket对象可以获取通信对方的socket信息 客户端: import java.net.*; import java.io.*; public class TestServer { publ ...
- iOS中的蓝牙
iOS中的蓝牙 概述 iOS中提供了4个框架用于实现蓝牙连接 1.GameKit.framework(用法简单) 只能用于iOS设备之间的同个应用内连接,多用于游戏(eg.拳皇,棋牌类),从iOS7开 ...
- 【译】x86程序员手册38-10.2实在址模式下的软件初始化
10.2 Software Initialization for Real-Address Mode 实地址模式的软件初始化 In real-address mode a few structur ...
- Android 关于文件及文件夹的创建 、删除、重命名、复制拷贝
package com.example.administrator.myapplication.util; import java.io.BufferedReader;import java.io.B ...
- MySQL性能优化之max_connections配置
MySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量.如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于M ...
- ztree 展开一级节点 | ztree只显示到二级目录
// 默认展开一级节点var nodes = tree.getNodesByParam("level", 0);for (var i = 0; i < nodes.lengt ...