随笔分类 - 模拟
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你求出l~r当中二进制表示1的个数最多的数x 【题解】 最多有64位 我们可以从l开始一直增大到r 怎么增大? 找到l的二进制表示当中0所在的位置 假设i这一位的0经过加法变成了1 那么我们再从低位到高位依次枚举那一位为1就好 然后把这个二进制转换成十
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你实现Shell的cd和pwd操作 【题解】 用一个list表示当前的路径 如果路径以/开头则表示需要清空当前路径重新走路 否则在原来路径的基础上继续加就可以了 【代码】 cpp import java.io. ; import java.util.
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你求没出现过的最小值 【题解】 模拟。。for一下就好 【代码】 cpp import java.io. ; import java.util. ; public class Main { static InputReader in; static P
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 f[i]表示在x[]中有多少个数字是i的倍数 让你求出sum(f[i]) li 【题解】 做筛法求素数的时候顺便把素数i在x[]中的倍数的个数求出来就好 前缀和 输出即可 【代码】 cpp import java.io. ; import java.ut
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 A~Z分别对应了1~26 AA是27依次类推 让你完成双向的转换 【题解】 转换方法说实话特别恶心 _ 【代码】 cpp import java.io. ; import java.util. ; public class Main { static I
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你把数组分成k个连续的部分 使得每个部分最大的m个数字的和最大 【题解】 把原数组降序排序 然后选取前m k个数字打标记 然后对于原数组 一直贪心地取 直到这个区间选了m个打标记的数字为止。 然后就划分一个区间 _ 【代码】 cpp import ja
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 水题 【题解】 哪个比较挑剔优先给他选 _ 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个k位数b进制的进制转换. 让你求出来转成10进制之后这个数字是奇数还是偶数 【题解】 模拟一下转换的过程,加乘的时候都记得对2取余就好 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你n个菜以及每个人需要的菜以及数量 如果某个人无法满足它对菜的需求的话 就用价格比较低的菜来填充它的要求。 (如果价格低的菜不够了,那么就直接输出0) 否则输出每个人的消费总量 【题解】 把所有的菜按照价格升序排序. 对于每一个顾客的kind,num
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你找到排名的前k名,并列的话,如果分数大于0那么就算晋级 问你最后有多少人可以晋级. 【题解】 按照题意模拟就好, 先按照a[max] = a[k]的规则找到下标的最大值max 然后依据a[max]==0的规则,一直减小这个max. 直到max变成0为
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 因为只会增加。 所以。 一开始暴力算出来初始答案 每次改变一个点的话。 就只需要看看和他相邻的数字的值就好。 看看他们是不是大于l 分情况增加、减少答案就好 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 找到度数为1的点。 他们显然是叶子节点。 然后每个叶子节点。 往上进行bfs. 累计他们的父亲节点的儿子的个数。 如果都满足要求那么就继续往上走。 直到不能走。或已经走了k步。 且要求走了k步之后。他们都到了同一个节点。(根节点 这道题。 n=
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 我们可以很容易知道区间的每个位置有哪些安排可以用。 显然 我们优先用那些花费的钱比较少的租用cpu方案。 但一个方案可供租用的cpu有限。 我们可以用一个线段树 线段树的下标表示价格。 那一位的值,为这个价格的cpu能租多少个。 弄个区间和(即
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 如果|x|+|y| n 显然。从(0,0)根本就没法到(x,y) 但|x|+|y| 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 递归一会。 会发现最后肯定是0,1一直循环。 开始循环之后就直接返回结果就好。 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 统计a中0的个数cnt0 然后m减去cnt0 因为这cnt0个0是一定会取到的。 如果m==0了 那么直接找到数组中的最小值mi 输出mi 1就好 否则 找到剩余的前m个非0的数字 设第m个非0数字为a[i],则在i+1..n中再取最小值mi
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 【代码】 cpp include using namespace std; const int N = 2e5; int n,m,l; char s[N+10]; int a[N+10],b[N+10],c[N+10]; bool test(i
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 题目很迷啊。 不会出现盆地? 可以理解为一条线。 从左往右高度上升的一座座山。 然后V升的水从最左边的山倒进去。 然后问你最后海拔多高。。 (为什么是这样啊??? 鬼知道。。。 所以每次只要看看前i个山同时升高a[i+1] a[
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 一个单位时间、一个单位时间地模拟就好。 然后对于每个人。 记录它所处的周期下标idx 每个单位时间都会让每个人的idx++ 注意从醒着到睡着的分界线的处理就好。 可以多循环几次。。超过上限认为无解 (其他题解也提供了一种方法,就是如果状态和初始
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 如果一行里面某位有 1个x 那么是invalid的。 没有x的话。 可以分析以下(设输入的标准Even为0,然后Odd为1) (列出所有情况分析后会发现.) 那么必须满足标准^这一列该位的亦或和==0 x只有1个的情况的话。也应
阅读全文

浙公网安备 33010602011771号