。。。。此次Div2就做了两个题目,第一个题目wa了4次,22分钟出的,第二道题目一遍过,18分钟,然后看到c题感觉样例好玄学,就捣鼓浮点数去了,没想到是二元一次方程求解。。。还是太蠢了。
A:
You are given a string s consisting of n lowercase Latin letters.
You have to remove at most one (i.e. zero or one) character of this string in such a way that the string you obtain will be lexicographically smallest among all strings that can be obtained using this operation.
String s=s1s2…sn
is lexicographically smaller than string t=t1t2…tm if n . For example, "aaa" is smaller than "aaaa", "abb" is smaller than "abc", "pqr" is smaller than "z". Input The first line of the input contains one integer n (2≤n≤2⋅105) — the length of s . The second line of the input contains exactly n lowercase Latin letters — the string s . Output Print one string — the smallest possible lexicographically string that can be obtained by removing at most one character from the string s . Examples Input Copy Output Copy Input Copy Output Copy Note In the first example you can remove any character of s to obtain the string "aa". In the second example "abca" < "abcd" < "abcda" < "abda" < "acda" < "bcda". 找第i项比第i+1项大的。删除的就是那个字符,如果没有,则删除最后一位。 代码如下: B. Divisor Subtraction time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given an integer number n . The following algorithm is applied to it: Determine the number of subtrations the algorithm will make. Input The only line contains a single integer n ). Output Print a single integer — the number of subtractions the algorithm will make. Examples Copy Copy Copy Copy Note In the first example 5 . In the second example 2 is the smallest prime divisor at both steps. 当为偶数时,直接/2即可,当为奇数,求出枚举求出最小素因子,然后减去这个素因子,必定为偶数,然后转化为偶数求解的方式。 代码如下: C. Meme Problem time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Try guessing the statement from this picture: You are given a non-negative integer d . You have to find two non-negative real numbers a and b such that a+b=d and a⋅b=d . Input The first line contains t (1≤t≤103 ) — the number of test cases. Each test case contains one integer d (0≤d≤103) . Output For each test print one line. If there is an answer for the i -th test, print "Y", and then the numbers a and b . If there is no answer for the i -th test, print "N". Your answer will be considered correct if |(a+b)−a⋅b|≤10−6 and |(a+b)−d|≤10−6 . Example Input Copy Output Copy 这题目想了50分钟结果想歪了。。。 就是个解二元一次方程组的问题。 a+b=d; a*b=d; 则a*(d-a)=d; 则a*a-ad+d=0, 用求根公式求出一个解,然后d减去那个解就是b的答案。 代码如下: 3
aaa
aa
5
abcda
abca
#include
5
Output 1
Input 4
Output 2
#include
7
69
0
1
4
5
999
1000
Y 67.985071301 1.014928699
Y 0.000000000 0.000000000
N
Y 2.000000000 2.000000000
Y 3.618033989 1.381966011
Y 997.998996990 1.001003010
Y 998.998997995 1.001002005
#include