随笔分类 - 模拟
摘要:题目链接 链接 翻译 让你放长度为 的长条,相邻两列必须有一个公共位置,路不是平的,长条必须放在某个高度之上。 且最高不能高过路高上面 。 规定第一列和最后一列只能老老实实放在路面上。 问你能否符合上述要求放好所有的长条。 题解 每一列处理出来一个可能的长条占据的区域 \(
阅读全文
摘要:题目链接 链接 翻译 每个人初始都有 张牌,每个单位时间,他们会对自己手上的牌进行如下操作: 每个人都把自己一半的下取整到左边,上取整到右边相邻的一个人。 但是有一个人搞特殊,他不会给左边相邻的人,而是将自己全部的牌都给右边相邻的人。 每过一个单位时间,你都可以询问某个位置上的人有多少张
阅读全文
摘要:题目链接 链接 翻译 给你一个区间,让你输出其中合法的括号序列(不要求连续)的最长的长度。 题解 线段树 在节点上维护当前这个区间内左右括号已经匹配了的对数 另外维护两个用于合并的数组 表示还没有用来匹配的左括号的数目, 则是右括号。
阅读全文
摘要:"题目链接" 【题目翻译】 给你一个长度为n的连续0,你现在可以每次把其中一段的最中间那个位置的数字改为++cur(cur初值为0) 但是你每次选取的一段需要满足这样的要求: 1.是一个连续的最大0段。 2.这个0段的长度是最长的。 3.这个0段是最靠左的。 【题解】 定义个长度为n的priorit
阅读全文
摘要:"题目链接" 【题解】 显然我们得按顺序获得目标t的每个字符。 对于t[0],t[1],t[2],t[3]... 我们可以在s中找到这么一个子序列。 显然如果找到尾巴还是没有需要的t[i]。 就得从s[0]开始重新开始顺序找。 (然后答案递增,因为表示要重新开始加一个子序列了) 但是如果这么直接找的
阅读全文
摘要:"题目链接" 【题解】 当时竟然用线段树做的这题。。。 遍历每个位置。 看看每个位置开始的26个除了问号的字母有没有重复的。 没有的话就ok。 然后按顺序放每个字母就好 【代码】
阅读全文
摘要:"题目链接" 【题解】 如果a[i][j]==0. 就把第i行的第一个数字置为0 然后把第j列的第一个数字置为0 最后再处理下每行第一个为0的行。每列第一个为0的列。 (第一行和第一列都得用同一个位置处理,所以会冲突。得额外定义一个变量,表示第1行是否需要全都置0) 然后把对应的行。列的元素全都置为
阅读全文
摘要:"题目链接" 【题解】 就一傻逼模拟题 【代码】
阅读全文
摘要:"题目链接" 【题解】 就是上一题反过来的过程。 因为有说一般情况下后面的罗马数字是小于前面的罗马数字的。 如果前面的罗马数字小于后面的罗马数字了。 说明出现了4,9,40,90这些特殊情况。 那么就得判断一下下了。 直接用map把所有的罗马数字对应的数字都放进去。 然后就很好做啦。 写的时候遇到一
阅读全文
摘要:"题目链接" 【题解】 (涨知识了。。原来罗马数字是这么回事。。 把{1,4,5,9,10,40,50,90,100,400,500,900,1000}这些东西的罗马数字放在一个数组里面。 每次从大到小减。 减一个加上对应的罗马数字就好。 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 写一个函数判断当前局面是否有人赢。 然后枚举上一个人的棋子下在哪个地方。 然后把他撤回 看看撤回前是不是没人赢然后没撤回之前是不是有人赢了。 如果是的话 那么就是满足要求的啦吸吸吸 【代码】 java include define ll
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 我们可以从左到右枚举一轮。 定义一个cost表示这一轮花费的钱数 如果cost+a[i]beforeT cost beforeT/(1+x) x cost x beforeT/(1+x) x cost beforeT/(1/x+1) x
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你在n个数字中再加入一个数字 使得这n+1个数字排序之后 相邻两个数字的差都相同 【题解】 注意相邻为0的情况 这种情况 只有全都相同才行 只有一种情况 然后就是样例里的a[i] a[i 1]只有两种数字 然后较小的a[i] a[i 1]有n 2个,较
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 傻逼模拟题 【代码】 java import java.io. ; import java.util. ; public class Main { static InputReader in; static PrintWriter out
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 每次你可以将一个字符变成一个不同于本身的字符. 每个人需要改变n次(且不能不改变) 设每个人的字符串中出现次数最多的字符出现的次数为cnt[0~2] 问你谁的cnt值最大 如果最大的两个cnt相同 输出draw 【题解】 模拟就好 注意这种情况(n=1)
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个数组A[]经过a[i][j] = gcd(A[i],A[j])的规则生成的二维数组 让你求出原数组A 【题解】 我们假设原数组是A 然后让A数组满足A[i] 【代码】 cpp import java.io. ; import java.util.
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 长度为n的一个序列,其中有一些部分可能是空的,一些部分是长度为a的物品的一部分 (总共有k个长度为a的物品,一个放在位置i长度为a的物品会占据i,i+1,....i+a 1这a个格子 (物品之间必须要有至少一个空格,不能相邻 现在有一个人猜了m个不同的位
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 模拟题、用set模拟下就好 【代码】 cpp import java.io. ; import java.util. ; public class Main { static InputReader in; static PrintWri
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你判断一个序列是否可能为一个bfs的序列 【题解】 先dfs出来每一层有多少个点,以及每个点是属于哪一层的。 每一层的bfs如果有先后顺序的话,下一层的节点的出队也是有先后顺序的 因此x是当前层只是一个简单的判断条件,还需要更深入的判断 也就是说它是不
阅读全文