摘要: 【问题描述】 定义一个长度为奇数的区间的值为其所包含的的元素的中位数。 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少。 【输入】 输入文件名为kth.in。 第一行两个数n和k 第二行,n个数。(0<=每个数<231) 【输出】 输出文件名为kth.out。 一个数表示答案。 阅读全文
posted @ 2017-10-20 21:14 zbtrs 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 给出m个数a[1],a[2],…,a[m] 求1~n中有多少数不是a[1],a[2],…,a[m]的倍数。 【输入】 输入文件名为count.in。 第一行,包含两个整数:n,m 第二行,包含m个数,表示a[1],a[2],…,a[m] 【输出】 输出文件名为count.out。 输出 阅读全文
posted @ 2017-10-20 19:06 zbtrs 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 分析:这道题一个一个枚举都能有70分...... 前60分可以用中国剩余定理搞一搞.然而并没有枚举分数高......考虑怎么省去不必要的枚举,每次跳都只跳a的倍数,这样对前面的式子没有影响,为了使得这个倍数最小从而不会WA掉,每次跳最小公倍数就可以了. 60分代码: 100分代码: 阅读全文
posted @ 2017-10-20 17:02 zbtrs 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 分析:因为序列是不严格单调的,所以挪动一个数其实就相当于把这个数给删了.如果a[i] < a[i-1],那么可以删掉a[i],也可以删掉a[i-1](!如果没考虑到这一点就只有90分),删后判断一下序列是否单调,删的次数是否≤1即可. 阅读全文
posted @ 2017-10-20 15:22 zbtrs 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 分析:用裸暴力可以得60分,每次dfs,看第i个盒子到底有没有钻石就行了.其实这很像0/1背包问题,只是多了一个m的限制.这要怎么办呢?因为概率是可以加减的,所以可以先不考虑m的限制,求出概率,然后dfs一遍把money < m的概率给减掉就好了. 正解是meet in the middle,dp+ 阅读全文
posted @ 2017-10-20 14:33 zbtrs 阅读(179) 评论(0) 推荐(0) 编辑