题目链接:http://codeforces.com/problemset/problem/489/A 题目意思:给出一个 n 个无序的序列,问能通过两两交换,需要多少次使得整个序列最终呈现非递减形式.这个交换次数最多为 n 次.如果原来已经非递减排列好,输出次数为0:否则不但要输出次数,还需要输出每次交换的数组下标. 比赛的时候想复杂了,用了pair来记录值和坐标,还要开多一个pair类型的 b 数组来保存已排好序的序列,然后跟原序列比较......哪个复杂啊---然后校园网12:00 断网了…
题目链接:http://codeforces.com/problemset/problem/485/A 题目意思:给出 a 和 m,a 表示第一日的details,要求该日结束时要多生产 a mod m,那么再加上原来的,就总共有 a + a mod m 的details 啦,然后这个数就成了第二日开始的 details ,接着临一天结束要多生产(a + a mod m) mod m,第三日开始就变成 (a + a mod m) + (a + a mod m) mod m .不断地重复重复重复…
题目链接:http://codeforces.com/problemset/problem/483/A 题目意思:给出一个区间 [l, r],要从中找出a, b, c,需要满足 a, b 互质,b, c 互质,但是 a, c 不互质,也就是除了 1 之后还有其他公约数.要求 1<= a < b < c <= r,也就是 a, b, c 两两不相等的.如果找不出则输出 -1. 首先很容易知道,如果 [l, r] 这个区间只有两个数,那么肯定没有答案.还有一种情况是,如果 [l, r]…
题目链接:http://codeforces.com/problemset/problem/479/C 题目意思:简单来说,就是有个人需要通过 n 门考试,每场考试他可以选择ai, bi 这其中一个时间来考,要求 n 门考试过后,他所选择的时间序列是一条非递减序列,输出最少时间. 其实那个最少时间是骗人的,感觉没什么用.直接排序,然后每门课程选择尽可能少的时间来考,但这个时间需要满足 >= 前一门课程的时间. 感觉这道题比 B 题还要简单,额...是错觉了么,不过它题目意思确实有点绕~~~~纸老…
题目链接:http://codeforces.com/problemset/problem/337/A 题意:有n个学生,m块puzzles,选出n块puzzles,但是需要满足这n块puzzles里的最大pieces(A)和最小pieces(B)之差最少,即the least possible difference. 这是一道贪心兼排序的题目,解决方法不难.首先对m块puzzles以非递减的顺序排序(可以保证每个n长度的区间difference最小),接着求出所有长度为n的区间中最大和最小的值…
呜呜周日的时候手感一直很好 代码一般都是一遍过编译一遍过样例 做CF的时候前三题也都是一遍过Pretest没想着去检查... 期间姐姐提醒说有Announcement也自信不去看 呜呜然后就FST了 呜呜然后rating-55(果然呜呜 TAT A. Cutting Banner A large banner with word CODEFORCES was ordered for the 1000-th onsite round of Codeforcesω that takes plac…
题目链接:http://codeforces.com/submissions/ywindysai 题目意思:有 n 朵花,每朵花都有一定的高度(第 i 朵花对应 ai),m 天之后要把这些花送给别人.不过这 m 天里可以通过淋花来让花长得尽可能高啦(当然不希望把长得矮矮的花送给人啦),每天只能淋一次,一次覆盖的范围是连续的 w 朵,淋完水后被淋的花会在当天长高 1 个单位(one height unit).现在就问,m天之后,最矮的那朵花最高能长到多高. 首先,我对这条题目完全没有想法,四个字:…
题目链接:http://codeforces.com/problemset/problem/384/B 题目意思:给出n个数组,每个数组包括m个数字,当k = 0 时,需要把n个数组都按照从小到大的顺序排列,k = 1则把n个数组里面的数字按照从大到小的顺序排列. 直接模拟即可,不过有个地方注意下是可以减少工作量的,当处理第 i 行的时候,不再需要移动前 i - 1 行的数组下标.因为前 i - 1行的数组都排好序了. Time Memory 46 ms 500 KB #include <ios…
题目链接:http://codeforces.com/problemset/problem/440/B 题目意思:给出 n 个数,求出这 n 个数的平均值avg,问对于这 n 个数里面中的每一个数,要变为avg 至少需要向相邻的数交换多少次.每次交换只能向相邻的数取1(+1 或者 -1) 一开始想错了,以为每个数直接跟avg比较,求出它们的差值就是答案.后来关电脑在床上的时候就想到了正确的解法.因为考虑到今天有正式的比赛,所以不像那天又继续奋斗了(累---),早上一早验证,果然是对的^_^ 正确…