随笔分类 -  题解

摘要:A - Bookshelf Filling 题意: 有a,b两种高度的书,a < b,a有n本,b有m本,全部竖着摆放在高度为h的书架上,现在要把至多(m - 1)本b书横着摆放在一些书的顶部。 问这样摆放之后的最小宽度是多少。 题解: 最简单的方法就是二分。这道题显然具有单调性,因为假设一个答案x 阅读全文
posted @ 2022-07-14 10:20 _onglu 阅读(1030) 评论(0) 推荐(0) 编辑
摘要:题意,你从原点出发,想走出一个k边形,一开始你向(1,0)方向走,走长度为1的直线。 每走一步,你都会转弯,转的角度是2πk,也就是每条边的角度都是k边形的一条边。 然后每走k/2下取整步,每步走的长度就会+1。问走了n米之后,点的坐标是多少。 赛场被喂了假思路 阅读全文
posted @ 2022-05-27 18:57 _onglu 阅读(134) 评论(0) 推荐(0) 编辑
摘要:A. Points 题意: 你要维护两个二维平面上的可重点集U,V,每个点集支持插入,删除,以及查询下面这个式子的操作。 $$D(U, V) = \min\limits_{\begin{smallmatrix}(u_x, u_y) \in U \\ (v_x, v_y) \in V\end{smal 阅读全文
posted @ 2022-04-03 09:24 _onglu 阅读(573) 评论(0) 推荐(0) 编辑
摘要:题意: 给一个有向图,每条边按照顺序一条一条往里面加。问对于每个点i,最早在第几条边加入的时候,存在一条1i,长度为L的路径。不存在输出1n100,mn2 L109 解答: L109比较容易想到矩阵运算。 一个比较 阅读全文
posted @ 2022-03-26 01:23 _onglu 阅读(62) 评论(0) 推荐(0) 编辑
摘要:前几题直接代码。 A - Weird Function int f(int x) { return x * x + 2 * x + 3; } cout << f(f(f(t)+t)+f(f(t))) << endl; B - Longest Segment double ans = 0; for(i 阅读全文
posted @ 2022-01-21 17:24 _onglu 阅读(56) 评论(0) 推荐(0) 编辑
摘要:传送门:Secrets in Shadows 题意: 给定n(n100)个半径为1的圆柱体,假设太阳光是从无限远处来的平行于地面直线,圆柱会在地面上投射出无限长的矩形阴影。 宽度定义为这些矩形的宽度并,问宽度最大的太阳角度。 题解: 一开始以为是枚举两个圆心,然后垂直连线啥的,发现错 阅读全文
posted @ 2021-11-18 08:07 _onglu 阅读(49) 评论(0) 推荐(0) 编辑
摘要:一道比较考思维的题,赛场上没有写出来,赛后来补发现可做。 分类讨论的情况比较多。 题意: 一个圆上顺时针排列1n号点,然后给定M条边,每条边连接x,y点。两条边(a,b)(c,d)\(\)(a+b)(c+d)的贡献,现在要删除2个点和这2个点所有 阅读全文
posted @ 2021-11-18 07:35 _onglu 阅读(175) 评论(2) 推荐(2) 编辑
摘要:题意: 给定一个长度为m的序列a,问[0,L]中有多少个数x满足popcount(x+i)mod2=aiL1018 m100 题解: 想一会儿之后会注意到m100。 显然如果涉及到加法的popcount很难计算,可以 阅读全文
posted @ 2021-10-31 16:52 _onglu 阅读(99) 评论(0) 推荐(0) 编辑
摘要:题意 给一张网格图,网格之间会存在墙和门,你知道有且仅有一扇门打不开,但是不知道是哪一扇门,输出你能保证的从左上角走到右下角的步数的最小值。 n,m30 解法 想对了一半,后面一半没想到二分。 其实这就是,找到一条最佳的策略路径,使得路径上任意一步不能走的总步数的最大值最小。 其实很 阅读全文
posted @ 2021-09-23 19:46 _onglu 阅读(62) 评论(1) 推荐(0) 编辑
摘要:题意: 给定一个1 n的排列,两个人分别选数,每个人这次选的数必须比自己上次选的位置要靠后,同时必须比两人之前选的所有数都要大,如果有多个满足条件的数,他们就会等概率选取一个。最开始的那个人可以等概率选取任何一个数。求最终选取的数的期望个数。 范围: n5000 题解: 有两个限 阅读全文
posted @ 2021-09-17 09:18 _onglu 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题意:定义哈希函数hseed(x)=xmodseed,给定一个集合,要求找到一个最小的seed,使得集合内的数字哈希函数两两不同。 数据范围:n5×105,ai5×105 注意到两个数字的哈希函数当且仅当$seed | 阅读全文
posted @ 2021-09-16 02:57 _onglu 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一些套路的整合题,是一个好题。 题意: 给定一个n×m的01矩阵,每次可以选择一行或者一列进行取反,问任意进行操作后,矩阵中剩下的1最少有几个。 n20,m105 先进行一下转化,首先注意到n是很小的,有一个贪心策略是,确定了行的取反状态后,列的取反方 阅读全文
posted @ 2021-09-06 04:04 _onglu 阅读(88) 评论(0) 推荐(0) 编辑
摘要:刚好FWT和SG函数都刚学,这道题也挺模板的,就拉来做做。 手动打个SG函数表发现sg[2k+n]=n+1,然后博弈论就被干掉了,剩下的问题变成,有m个数可以选,选择v个数使得异或和为0。 这道题题意有锅吧,正确表述应该是大小为V的序列,而不是集合,因为方案数跟选取顺序有关。 令 阅读全文
posted @ 2021-09-05 17:55 _onglu 阅读(69) 评论(0) 推荐(0) 编辑
摘要:比较巧妙的构造题,但是重点实际上在bitset优化和输出方案上。 题意大概是: 定义节点的分值为子树中叶子节点的个数。现在给定所有节点(只有中间节点,不包含叶子节点)的分值,现在要求构造一棵森林,当用一个虚根把所有森林连起来之后,虚根的权值为s。 要求输出方案,每个节点输出他的直接儿子和除开这些 阅读全文
posted @ 2021-07-27 10:53 _onglu 阅读(178) 评论(1) 推荐(0) 编辑
摘要:题目链接:Glad You Came 题意: 给定一个长度为n的全0数组,有m次操作,每次操作会选定一个区间[l,r],给定一个v,使得那个区间所有小于v的值全部都等于v,求m次操作完之后的数组。 $n\le 10^5, m\le 10^6, \sum m \le 阅读全文
posted @ 2021-06-24 13:52 _onglu 阅读(54) 评论(0) 推荐(0) 编辑
摘要:题目链接:[SHOI2008]汉诺塔 题意: 给定玩汉诺塔的策略: 1.上一次移动过的盘不能再次被移动。 2.三个柱子,给定每两个柱子之间移动的优先级,每次必须执行优先级最高的可行操作。 题解: 其实移动方法是被固定的,然后可以发现一些性质。 根据汉诺塔的一般解题思路,我们肯定是要首先移动第一根柱子 阅读全文
posted @ 2021-05-06 17:36 _onglu 阅读(51) 评论(0) 推荐(0) 编辑
摘要:题目大意: 一棵无根树,定义度数为1点为叶子节点,求所有两个叶子之间距离的平方和,树边上有边权。 样例: 4 1 4 1 4 3 1 2 4 1 12 4 1 2 3 1 4 2 4 3 1 36 5 1 2 1 1 3 4 2 4 3 2 5 2 138 10 1 2 10 10 2 7 3 2 阅读全文
posted @ 2021-05-05 15:05 _onglu 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题目链接:[SCOI2009]windy数 题意: 求[l,r]之间的有多少个数满足:不包含前导0,且相邻两位数字差大于等于2。 题解: 第一次不看题解一遍通过数位dp祭(虽然以前做过这道题,但是已经忘了)。 数位dp一直是恶心我的难点,这道题刚好是一道很简单的的数位dp,于是想尝试一下。 数位dp 阅读全文
posted @ 2021-05-03 23:15 _onglu 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目链接:The Maximum Unreachable Node Set 题目大意: 给定一个偏序集,求最长反链大小。 反链的定义是:链上的任意两点互不可达。 趁机补一补图论的东西。 这道题是道板子题,不过没学过基本上写不出来吧。 首先有两个前置技能: 1.求偏序集上最小不相交链覆盖数 每个点拆成 阅读全文
posted @ 2021-05-01 11:55 _onglu 阅读(71) 评论(0) 推荐(0) 编辑
摘要:题目链接:The Game of Life 题目大意: 一个无限大的平面网格上有一堆点,初始只分布在3*5的区域里面。 经过321次传递,每次传递遵从以下规则。 1.如果一个点是1,并且周围3*3的去心区域中有2或者3个1,那么这个点保留,否则去除。 2.如果一个点是0,并且周围3*3的去心区域中有 阅读全文
posted @ 2021-04-30 12:27 _onglu 阅读(63) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示