BZOJ 3102 Sgu512 Friendly Points 画图可以发现,对于每个点做右下顶点的时候,合法的另一个顶点是其右上方的一个下凸壳。 下凸壳可以用单调队列维护,但每次都建立一个单调队列肯定不行。按照 x 的值建立树状数组,用树状数组的区间划分一个后缀,对每个区间都维护其中的点的单调队列。合并两个单调队列,二分即可。 123456789101112131415161718192021222324252627282930313233343536373 2024-02-04 ACM #数据结构
BZOJ 3723: [PA2014Final] Gra w podwajanie 题解 考虑倒着做,从起点开始扩展打印出可能的形状。比如从起点是 16, 向四周扩展一个格子,变为 8、8...可以发现最大填的数是 16,合法的形状不大于 9x9。 实际上预处理可行的形状是非常麻烦的,这里提供一个全网最简单的做法,反正我没看懂 Claris 大神的代码 qwq( 反正数据范围很小,我们直接用一个单调队列保存状态来搜索,判断重复可以重载一个比较结构体用 map 判重。保存形状可以用一个 2024-02-01 ACM #模拟
详细揭秘⚡🧊专业 好吧,我是标题党x 请各位完成一份杭州电子科技大学院系逻辑结构,以树形结构描述出来,叶子结点为各专业,可去各分院官网搜索信息,作为本学期的思政作业。 我发现学校总是喜欢布置些奇怪的任务x 不过不会真有人手写吧(x 记录一下我是怎么做这个作业的( 这个应该算可以公开的信息吧(? 2023-12-09 编程 #python
Sereja and Permutations SEAPERM2.pdf \(O(n^5)\) 因为总有一个排列是由删除\(p_1\)得来的,所以可以枚举之并还原每个\(n-1\)的排列。得到\(n^2\)个可能的 P。 然后暴力验证每一个。 \(O(n^4)\) 验证的时候比对排列的哈希值,哈希不必担心碰撞问题,因为恰好不同排列的哈希值对应交换才会产生影响,这个几率应该很小....... 不知道用什么模数? \(O(n^3)\) 可以发现,输 2022-09-18 题解 #树状数组 #哈希
高考题面背后的故事 做到过这样一道题 其实是2021年新高考Ⅱ卷数学 21题 好像高考考概率压轴题还是挺少见的,不过其实这更像导数题。 今天我要说的当然不是这道题的解法,而是第 \(2\) 问中的已知条件的由来。 即\(p\)为什么是方程\(p-0+p-1x+p-2x^2+p-3x^3=x\)的根。 我们将该生物群体的每一个个体编号。首先如果以\(0\)为祖先的群体灭绝,那么相当于所有\(0\)的下一代为祖先的群体 2021-12-25 数学 #数学
「NOIP2017」列队 数据结构 「NOIP2017」列队 这题做法比较多,感觉平衡树的写法应该比较简单。 虽然常数会比较大。 我们分别维护每一行和最后一列的元素。 对于每次操作的二元组\((x,y)\) 如果\(y=m\),就把元素移到列末尾。 否则,行内删除该元素,把最后一列第\(x\)个元素移到行末尾并删除,之后把\((x,y)\)移动到列末尾。 查询很简单,查一下第\(k\)大的编号就是了。 但是有一个问题,这样开 2020-11-11 题解 #线段树 #数据结构 #树状数组 #平衡树
选数 容斥原理 题目 桌面上有\(N\)个数字排成一排,小武要求小林从中选出\(3\)个数字,使得这\(3\)个数字的按位或的结果恰好等于\(x\),小林很快 就解决了这个问题,小武想了想,决定把问题加强一下,小武会问小林\(Q\)次问题,每次选的\(3\)个数字只能在从左往右 的第\(l\)个数和第\(r\)个数之间选择,并且要小林说出符合要求的方案数,小林顿时不会了,于是把问题交给了你。 第一行两个数\(N\ 2020-11-11 题解 #数学 #容斥原理
「NOIP2017」宝藏 「NOIP2017」宝藏 不知道为什么,最开始\(70\)的暴力都没有想到。 因为当前在某个最新开发的点,不会再往以前已经开发的点连边。 所以开发顺序是一个排列,所以直接全排列枚举开发顺序。 每个新开发的点,都枚举是从哪个已开发的点过来的,这样做应该是\(\mathjaxcal{O}(n^3n!)\)的,可以拿\(70\)分。 然后这题有一个根据定义的状压\(dp\),可以把开发顺序看成一棵\ 2020-11-11 题解 #动态规划 #状压dp
「HAOI2016」放棋子 「HAOI2016」放棋子 这题,一看就很状压\(dp\) 但是\(N\leq 200\),拿啥压啊... 不会做啊,忍不住去搜题解了。 题目有个很好的性质 任意两个障碍不在同一行,任意两个障碍不在同一列......你放\(N\)个棋子也满足每行只有一枚棋子,每列只有一枚棋子的限制 首先,既然每行每列都只有一个障碍,那么显然障碍放哪里对棋子方案数没有影响。 你想在某行换一个障碍位置,那么必 2020-11-10 题解 #数学 #组合数学 #错排
LOJ 6274 数字 首先,把所有数二进制拆分一下,然后数位\(dp\)爆搜当前位分别填什么,然后这题就做完了。 做完个锤子。 如果填\(0/1\),\(1/0\),\(0/0\),最后并起来都是一个数,但是\(x,y\)却不相同了。 据可靠消息,发现这三种填法的方案数是包含关系,也就是说你在这一位填什么,最后都不会让某个方案不同于其中一个能最大化答案的那个方案。 因为当前填什么对后面的影响就是会不会碰到上下界,调整一 2020-11-10 题解 #动态规划 #数位dp