CF_#277.5_DIV2_A_B_C
2014-11-18 17:18
381 查看
A. SwapSort
http://codeforces.com/contest/489/problem/A
给定一个n个数的序列 然后输出小于等于n次排序的交换方式使之递增有序
暴力
o(n^2)
直接sort一下
然后从第一个数开始对比两组数是否相同 不同则寻找应该在该位的数 记录交换位置 和交换次数
pretest wa了一次 由于没有输出交换次数
结果fst 发现是因为在找到交换数时候没有break 所以 wa了
要细心
ac代码
http://paste.ubuntu.com/9068518/
B. BerSU Ball
http://codeforces.com/contest/489/problem/B
给定一组n个数和一组m个数 两组数 对于两组数中 如果两个数的相差不大于1则可以配成一对 请问最多有多少种配对方式
贪心
o(max(nlgn, m+n))
对两组数分别sort一下
然后从最后小的那组开始 如果另一个可以配对 则组数++ 指针往前移
如果不可以配对 则大的那组指正前移 循环到任意一组到头
1y
ac代码
http://paste.ubuntu.com/9068606/
C. Given Length and Sum of Digits...
http://codeforces.com/contest/489/problem/C
贪心
o(n)
意思是说给定m和s两个数
m为非0正整数 s为非负整数
然后存在一些数是m位 并且每位和为s
求出对应最小数和最大数
不存在就输出-1 -1
想了一下发现如果符合题意那么显然 m*9 <= s
如果s / 9 + bool( s % 9) == m
则最小是(s%9)在最高位 其他都是9
最大是(s%9)在个位 其他都是9
否则
最小一定是最高位是1 然后一堆0 然后是(s-1)%9(如果(s-1)%9不为0) 最后一堆9
最大是s/9位的9 接着是s%9后面一堆0
有几个坑
1 0的结果是
0 0
x 0的结果是 (x不为0)
-1 -1
1 x的结果是 (x<=9)
x x
很有意思的一个题 不过被出题人坑了 = =在没做到之前出了个tips
说前导零应该去掉 例如‘007’这种数据是不对的 只有‘0’可以输出
然后我就很二逼的认为有一组数据是3 7
对应是007 700
其实这样的话 应该是106 700
结果我就恶性脑补了 导致最后一直wa到结束 不然 rank也不会掉 = =
ac代码
http://paste.ubuntu.com/9068914/
期待蓝名之日的来临
http://codeforces.com/contest/489/problem/A
给定一个n个数的序列 然后输出小于等于n次排序的交换方式使之递增有序
暴力
o(n^2)
直接sort一下
然后从第一个数开始对比两组数是否相同 不同则寻找应该在该位的数 记录交换位置 和交换次数
pretest wa了一次 由于没有输出交换次数
结果fst 发现是因为在找到交换数时候没有break 所以 wa了
要细心
ac代码
http://paste.ubuntu.com/9068518/
B. BerSU Ball
http://codeforces.com/contest/489/problem/B
给定一组n个数和一组m个数 两组数 对于两组数中 如果两个数的相差不大于1则可以配成一对 请问最多有多少种配对方式
贪心
o(max(nlgn, m+n))
对两组数分别sort一下
然后从最后小的那组开始 如果另一个可以配对 则组数++ 指针往前移
如果不可以配对 则大的那组指正前移 循环到任意一组到头
1y
ac代码
http://paste.ubuntu.com/9068606/
C. Given Length and Sum of Digits...
http://codeforces.com/contest/489/problem/C
贪心
o(n)
意思是说给定m和s两个数
m为非0正整数 s为非负整数
然后存在一些数是m位 并且每位和为s
求出对应最小数和最大数
不存在就输出-1 -1
想了一下发现如果符合题意那么显然 m*9 <= s
如果s / 9 + bool( s % 9) == m
则最小是(s%9)在最高位 其他都是9
最大是(s%9)在个位 其他都是9
否则
最小一定是最高位是1 然后一堆0 然后是(s-1)%9(如果(s-1)%9不为0) 最后一堆9
最大是s/9位的9 接着是s%9后面一堆0
有几个坑
1 0的结果是
0 0
x 0的结果是 (x不为0)
-1 -1
1 x的结果是 (x<=9)
x x
很有意思的一个题 不过被出题人坑了 = =在没做到之前出了个tips
说前导零应该去掉 例如‘007’这种数据是不对的 只有‘0’可以输出
然后我就很二逼的认为有一组数据是3 7
对应是007 700
其实这样的话 应该是106 700
结果我就恶性脑补了 导致最后一直wa到结束 不然 rank也不会掉 = =
ac代码
http://paste.ubuntu.com/9068914/
期待蓝名之日的来临
相关文章推荐
- 【 题集 】 CF #277.5 (Div. 2) 更新ing...
- CF#277.5 (Div. 2) A.(技巧题,类似动规)
- CF div2 331 B
- CF 226 DIV2 B. Bear and Strings
- cf 267 div2 E Alex and Complicated Task
- CF-Codeforces Round #410 (Div. 2)-D-Mike and distribution
- CF Codeforces Round #231 (Div. 2)
- CF 172(div2) D(单调队列)
- Codeforces Round #277.5 (Div. 2) D——Unbearable Controversy of Being
- Codeforces Round #277.5 (Div. 2)
- CF 159 div2 d
- Codeforces Round #277.5 (Div. 2) A,B,C,D,E,F题解
- Codeforces Round #277.5 (Div. 2)E题
- CF&&CC百套计划3 Codeforces Round #204 (Div. 1) A. Jeff and Rounding
- cf 192 div2 B. Road Construction
- CF 245 div2
- 在青岛穷游打的cf codeforces Round #318 (Div. 2) A.Bear and Elections
- CF 141 Div2 C Fractal Detector(状态压缩DP)
- CF 464 DIV2C
- CF 260 DIV2 D. A Lot of Games(字典树+博弈)