摘要:
https://www.luogu.com.cn/problem/P4119 第一次感觉自己代码写得好优美,吹爆(bushi) 直接考虑最暴力的分块,序列分块+值域分块 设$bcnt[i][j]$表示前$i$块,值域在第$j$块的有几个 $cnt[i][j]$表示前$i$块,值域为$j$的有多少个 阅读全文
摘要:
https://www.luogu.com.cn/problem/AT3912 想了一会,大概想到了 考虑选择的的那$k$个点连起来,一定是一棵树,考虑把这棵树挖掉,剩下的点度数一定都$\le 2$(原树上),否则一定会存在一对兄弟节点的坐标是相同的 那么解法也很简单了,只需要对于每个度数为$1$的 阅读全文
摘要:
https://www.luogu.com.cn/problem/AT3728 想偏了一些 首先对于每条边,假设断开后两边的大小分别为$s1,s2$,那么答案的上界就是 \(\sum_{e\in E}2\times \min(s1,s2)\) 考虑把重心设为根,容易发现,上面那个$\min$只会取到 阅读全文
摘要:
https://www.luogu.com.cn/problem/AT2300 重新想的时候又没有想出来 首先有一个显然的性质,如果一个区间的长度$len\ge d$,那么这个区间的一定能被$d$买到 先把区间按照长度排序,比当前$d$大的直接加入答案 否则把$[l_i,r_i]$插入树状数组中,然 阅读全文
摘要:
https://www.luogu.com.cn/problem/AT2046 写这题的时候完全没有想清楚啊啊 重新看的时候盯了一个小时都没有看懂我在写啥 神仙思维分析题 树 首先考虑树的情况,可以把原图二分图染色一下,然后每次同色的取反就变成了异色的交换 原问题变为是否能把所有的黑白点位置交换 摸 阅读全文
摘要:
https://www.luogu.com.cn/problem/AT3576 又盯了半个多小时才看懂之前写的是啥 妙妙组合数学思维题啊啊 首先不管$s,t$,要拿红球肯定是从$1$开始拿,不亏 假设要拿第一个蓝球了,那么我们可以把$t$设到当前蓝球第一个位置,不亏 假设$t$那个位置已经没有球了, 阅读全文
摘要:
https://www.luogu.com.cn/problem/CF765F 挺不错的一道题,首先考虑扫描线,对于每个$i$,找$j<i,a[j]>a[i], j$最大的 用权值线段树可以轻易维护 假设找到一个$j$,然后再找$(a[i],a[j])$之间的 时间复杂度不优 考虑再找到的一个是$j 阅读全文
摘要:
https://www.luogu.com.cn/problem/P7446 有个地方写错了两次竟然还都过了 类似弹飞绵羊,维护从每个点第一次跳出当前块是跳到哪个节点,记为$tt[i]$, 往前跳一次的记为$to[i]\(, 给整个块打标记的时候,如果存在一个点不能一次跳出当前块,就暴力把块重建一遍 阅读全文
摘要:
https://www.luogu.com.cn/problem/P4292 感觉长链剖分的难点在于指针的使用 具体实现看代码吧,关于每往上继承一个要加一条边的权值,可以利用差分的思想 code: #include<bits/stdc++.h> #define N 500050 #define db 阅读全文
摘要:
https://www.luogu.com.cn/problem/P5406 首先要意识到这题不是最优化问题,而是计数类问题(光这点就不简单了) 考虑矩阵树定理计算的是什么 \(\sum_{T}\prod w_{e\in T}\) 这里$\prod$不一定是乘法,题目给出的这几个运算爷可以 于是乎可 阅读全文
摘要:
https://www.luogu.com.cn/problem/CF1267G 麻了,回头看的时候一下子不会算贡献了 白写了可还行 首先考虑抽卡的期望,假设已经抽了$i$个圣遗物出来,要出$i+1$个圣遗物的期望是 \(E(i)=\frac{i}{n}(E(i)+\frac{x}{2})+\fra 阅读全文
摘要:
https://www.luogu.com.cn/problem/P4557 给两个凸包$A,B$,令$a\in A,b \in B$,如果存在$b+v=a$,那么$v$这个向量就会冲突 移项可得 \(v=a-b\),那么就变成判断$v$是否在$A-B$中 把$A,B$求个闵可夫斯基和,然后判断即可 阅读全文