随笔分类 -  题解

摘要:开始以为时间限制比较紧,所以用二分实现的,O(logN logN)。 比较复杂,且只能确定大概位置,最后还要写一个小模拟。 模拟的特判不好写,容易漏掉情况。 想想有没有别的办法完成这个特判。 1 #include <bits/stdc++.h> 2 #define ll long long 3 4 阅读全文
posted @ 2020-08-03 16:39 参婵 阅读(120) 评论(0) 推荐(0)
摘要:参考题解 条理清晰,十分优秀。 除了别人都说过的坑点以外,还要注意: 选服务窗口,不是找上次结束时间最小的,而应该是找下个顾客到来时第一个空闲下来的。 测试用例: 4 08:00:00 30 1 08:10:00 10 1 08:25:00 10 1 09:00:00 10 1 3 1 2 应输出: 阅读全文
posted @ 2020-08-03 16:38 参婵 阅读(174) 评论(0) 推荐(0)
摘要:这题我是用queue写的BFS,超时了。 如果在每一层倒序遍历的话,有一个样例过不了,比答案多了1,如果用正序会超时。 我想正序遍历肯定不对,因为按照贪心的想法不对。倒序遍历,虽然是按照贪心思想,但是有可能前面的结果反而比后面的优,这种情况没办法处理。所以直接BFS不行。 因为这个含有单调性,每一个 阅读全文
posted @ 2020-08-03 16:37 参婵 阅读(125) 评论(0) 推荐(0)
摘要:题目要求返回所有可能数组中的第 k 个 最小 数组和。 根据题目给出的矩阵每行均为单调递增的提示,可以得出下一个最小数组和是由之前得到过的数组转移过来的。 因为k的范围不大,所以可以使用优先队列+bfs思想模拟这个过程。 备忘这里的优先队列重载方法 class Solution { public: 阅读全文
posted @ 2020-08-03 16:36 参婵 阅读(137) 评论(0) 推荐(0)
摘要:下面描述一下我的解题思路: 首先,我回忆了一下Nim博弈的规律,后来发现想不起来,决定自己想。但其实心里觉得自己肯定想不出来,可能又要看题解了。 在N小于等于4时,是可以直接推得结果的。看见题目中“你们是聪明人,每一步都是最优解。”,会不会要考虑平手的情况?我想起了SG博弈里的递归求解,后来我就想能 阅读全文
posted @ 2020-08-03 16:35 参婵 阅读(109) 评论(0) 推荐(0)
摘要:1. 直接借助栈、差分模拟 pre数组指的是上一个与p[i]一样大的位置对应的ans,也就是ans[pre[p[i]]]。 当前的位置要比那个ans小1,而ans[i+1]也要比ans[i]小1。 因为p[i]多出现了一次,所以上一个ans[pre[p[i]]要加1,这样就不会出现非正数。 #inc 阅读全文
posted @ 2020-04-20 23:05 参婵 阅读(165) 评论(0) 推荐(0)
摘要:开始比赛在想做哪道题,先看了A题,没怎么看懂。再看J题,感觉有点难, 琢磨了一下,没什么思路。 接着跟榜做题。 D题 1y 是一个组合数问题,写的时候没有想清楚,样例没过,后来又推了一下才过。 F题 1y 斐波那契的拓展版,没出什么岔子。 A题 8y 开始看错题目了,以为可以只投自己,搞了1发没过, 阅读全文
posted @ 2020-04-20 15:05 参婵 阅读(143) 评论(0) 推荐(0)
摘要:D题 没有想到这种构造 #include <bits/stdc++.h> #define ll long long using namespace std; int n; int main() { scanf("%d", &n); if(n == 1) { puts("1\n1"); } else 阅读全文
posted @ 2020-04-18 18:59 参婵 阅读(96) 评论(0) 推荐(0)
摘要:悬线法需要维护三个数组,L[n][m],R[n][m],H[n][m]。 以 Luogu P1169 棋盘制作为例。 (图源自洛谷https://www.luogu.com.cn/blog/RPdreamer/#,侵删) 如果把 L[n][m] 和 H[n][m] 放在一起维护,例如 上图蓝色部分的 阅读全文
posted @ 2020-04-16 11:43 参婵 阅读(162) 评论(0) 推荐(0)
摘要:题目中只说明了给出的字符是在0~35的,并没有说明数的进制也是在0~35的。 想当然的认为两个数的进制都是在这个范围,并没有想到还需要二分范围。 另外在运算过程中容易爆long long,需要注意判断。 #include <bits/stdc++.h> #define ll long long us 阅读全文
posted @ 2020-01-28 20:26 参婵 阅读(247) 评论(0) 推荐(0)
摘要:比赛的时候没有想清楚,直接排序然后从前向后dfs,一直卡着,就是没有想到其他的情况。 其实有可能是223344这样的,最后写的时候忘记处理了222233334444情况,还是看别人博客才发现的。 还是太菜了,继续努力。 1 #include <iostream> 2 #include <cstdio 阅读全文
posted @ 2019-06-23 13:50 参婵 阅读(227) 评论(0) 推荐(0)
摘要:题意就是按顺序分配,不过到最后只有一队的时候就要隔开坐,也就是当上一个分配的人是同校学生的时候,需要特判。 我还以为是从当前的人开始隔开坐。。。的确是没理解题意。附上测试数据。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring 阅读全文
posted @ 2019-03-10 11:30 参婵 阅读(284) 评论(0) 推荐(0)
摘要:EOF是一个信号值,值为-1,getchar() 的返回值类型是 int。 如果 ch 定义为 unsigned char 类型,则永远无法等于-1,无法判断是否读完。这个时候就会TLE。 ch 的类型是根据编译器决定的,ch 最好为 int 型。 ch=getchar() 的两边要加括号,因为等于 阅读全文
posted @ 2018-09-20 21:20 参婵 阅读(100) 评论(0) 推荐(0)
摘要:起初以为是自己输入输出方式有问题,百度发现自己没有考虑(yr%260==0&&!yr) 时需要减一。结果还是不对,最后发现自己数组少复制了一个字符串,很难受。但是题目中是没有的,这还是我看AC的代码发现的。以为肯定没错的地方错了,肯定错了的地方没错。。还是考虑不够,不熟悉规范。无话可说。 所以说这种 阅读全文
posted @ 2018-05-31 23:43 参婵 阅读(127) 评论(0) 推荐(0)