51Nod 1279 扔盘子 (思维+模拟)】的更多相关文章

题意: 有口井,往里扔盘子,最多扔多少个 n<=5e5, 1s 思路: 如果比较高的地方井口比较小,那么下面的再大也没有用,只需要维护一个单调减的数组然后O(n+m)模拟即可 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> #include<stack…
1279 扔盘子 1.0 秒 131,072.0 KB 5 分 1级题 有一口井,井的高度为N,每隔1个单位它的宽度有变化.现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去). 盘子有几种命运:1.掉到井底.2.被卡住.3.落到别的盘子上方. 盘子的高度也是单位高度.给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量. 如图井和盘子信息如下: 井:5 6 4 3 6 2 3 盘子:2 3 5 2 4 最终有4个盘子落在井内. 本题由 @javam…
51Nod:  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1279 1279 扔盘子 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题   有一口井,井的高度为N,每隔1个单位它的宽度有变化.现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去). 盘子有几种命运:1.掉到井底.2.被卡住.3.落到别的盘子上方…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1279 1279 扔盘子 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 有一口井,井的高度为N,每隔1个单位它的宽度有变化.现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去). 盘子有几种命运:1.掉到井底.2.被卡住.3.落到别的盘子上方. 盘子…
题目传送门 这道题一开始写了n方的算法 果不其然 它T了 所以就想想o(n)的算法 写不出来 就像sbzhq学习了一下 这道题啊 要维护一下从深度1到n每一段的最小值以及他的位置 然后就暴力搞一搞就okay 啦!!! #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; int read(){ ,f=,c=getchar(); ; c=getchar();} +(c-'…
ACM思维题训练集合 A new Berland businessman Vitaly is going to open a household appliances' store. All he's got to do now is to hire the staff. The store will work seven days a week, but not around the clock. Every day at least k people must work in the sto…
Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its color and size make it indistinguishable from the real silver dollars. The counterfeit coin has a diff…
C. Okabe and Boxes 这个题目是一个有点思维的模拟,当时没有想到, 思维就是这个栈的排序这里,因为每次直接排序肯定会t的,所以不可以这么写,那怎么表示排序呢? 就是直接把栈清空,如果栈顶就是我们需要的这个值,那就把这个值直接pop, 但是如果不是呢,就可以直接清空这个栈表示排序,如果栈已经是空的了,说明之前排过序了. 如果不是那就清空(排序),这个有点难想. #include <cstdio> #include <cstring> #include <cstd…
传送门 https://codeforces.com/contest/1496/problem/B 题目 Example input 5 4 1 0 1 3 4 3 1 0 1 4 3 0 0 1 4 3 2 0 1 2 3 2 1 2 3 output 4 4 3 5 3 Note In the first test case, S={0,1,3,4}S={0,1,3,4}, a=mex(S)=2a=mex⁡(S)=2, b=max(S)=4b=max(S)=4, ⌈a+b2⌉=3⌈a+b2⌉…
题意:博弈题面  给出一个数字序列 (>=11)  有两个人任意删除数字 直到 数字只剩下11位 如果删除后的数字串开头是8那么就是第一个赢 否则就是第二个人赢 第一个人先手  数字序列一定是奇数长度 思路: 首先计算一共走多少步 第二个人想赢只有以下两种方法 想法1:如果第二个人能把8都删掉 那么第二个人肯定赢 想法2: 如果删不掉 那么第二个人肯定从前到后尽可能得删掉8 这样使得第一个人的步数不足删除从前到后 步数+1那个8 的其他字符 否则就是第一人赢,直接模拟即可 (比赛的时候一直WA…