LOJ#2307. 「NOI2017」分身术】的更多相关文章

$n \leq 100000$个点,$m \leq 100000$次询问,每次问删掉一些点后的凸包面积. 不会啦写个20暴力,其实是可以写到50的.当个计算几何板子练习. //#include<iostream> #include<cstring> #include<cstdio> //#include<math.h> //#include<set> //#include<queue> //#include<bitset>…
#2305. 「NOI2017」游戏 题目描述 小 L 计划进行 nnn 场游戏,每场游戏使用一张地图,小 L 会选择一辆车在该地图上完成游戏. 小 L 的赛车有三辆,分别用大写字母 AAA.BBB.CCC 表示.地图一共有四种,分别用小写字母 xxx.aaa.bbb.ccc 表示. 其中,赛车 AAA 不适合在地图 aaa 上使用,赛车 BBB 不适合在地图 bbb 上使用,赛车 CCC 不适合在地图 ccc 上使用,而地图 xxx 则适合所有赛车参加. 适合所有赛车参加的地图并不多见,最多只…
链接 https://loj.ac/problem/2305 https://www.luogu.org/problemnew/show/P3825 思路 3-sat神马的就不要想了,NP问题 除去x每个点只有两种可能,2-sat x只有8个,\(3^n\)暴力枚举哪个不选 2-sat是对称性的 当起点x的战车不存在,continue else 当终点的战车不存在,那么起点战车也不能选呀(选了就G了呀),起点连向剩下的那个可选点 else 起点终点都还在,连起来,否逆命题:原命题为:若a,则b.…
题目:https://loj.ac/problem/2304 看了各种题解…… \( dp[i][j] \) 表示有 i 列.第 j 行及以下默认合法,第 j+1 行至少有一个非法格子的概率,满足最大合法矩形面积 <= lm.其中第 j 行及以下的部分的贡献是 1 而不是 q 的几次方. 那么有 \( dp[i][j]=dp[i][j+1]*p^i + \sum\limits_{k=1}^{i}dp[k-1][j+1]*p^{k-1}*(1-p)*dp[i-k][j] \) 注意到当 i>k…
题目:https://loj.ac/problem/2303 想到合并的时候可以只考虑接口附近的50个,但不太会分析复杂度,而且没有清楚地想到用哈希值对应个数. 看了题解才会…… 一直想用 splay ,其实链表就可以.用 unsigned long long 就不会被卡. 不能用 map ,而是要用哈希表把字符串的哈希值映射到个数上. #include<cstdio> #include<cstring> #include<algorithm> #define ll u…
题目:https://loj.ac/problem/2302 压30位,a最多落在两个位置上,拆成两次操作. 该位置加了 a 之后,如果要进位或者借位,查询一下连续一段 0 / 1 ,修改掉,再在含有 1 / 0 的那个位置上 -1 或者 +1 . 注意是在那个位置上 -1 或者 +1 而不是 -lowbit 或者 +lowbit . 询问都是 <=30n ,所以只维护 30n 的范围即可.注意线段树压 30 位,开 n 个位置恰好是 0*n ~ 29*n,所以开 n+1 个位置. 线段树只需维…
$n \leq 100000$种蔬菜,每个蔬菜有:一单位价格:卖第一单位时额外价格:总量:每天腐烂量.每天能卖$m \leq 10$单位蔬菜,多次询问:前$k \leq 100000$天最多收入多少.价格.量$ \leq 1e9$. 我也不知道为啥88分QAQ 求大佬看看啊 把第一单位蔬菜和其他的拆开,记下他们“能卖的最后一天”,假设第一单位蔬菜比其他的要晚卖.这样,按价格排序后,只需要贪心地填入能填的最晚的一天就好了.找最晚的一天用并查集.这样就求出了天数不限时的答案. 要求有限天数内的答案,…
$n \leq 1e9$底边长的泳池,好懒啊泥萌自己看题吧,$k \leq 1000$.答案对998244353取膜. 现在令$P$为安全,$Q$为危险的概率.刚好$K$是极其不好算的,于是来算$\leq K$,然后用$calc(K)-calc(K-1)$解决.$f(i,j)$--$i$行$j$列的矩形中,第$i$行有危险,前$i-1$行都没有危险,而最大矩形$\leq K$的概率,枚举最后一个危险格递推,$f(i,j)=\sum_{k=0}^{j-1}f(i,k)P^{i-1}Qg(i,j-k…
$n \leq 200000$的$1 \leq a_i \leq 6$的蚯蚓,有三种操作:让一只队头蚯蚓接在一只队尾蚯蚓后面:让一队蚯蚓从某个蚯蚓后面断成两队:问:给个字符串,问他的..算了你们直接看题吧 这什么沙雕题QAQ 所有询问的串只有$nk$种,把他们全丢进hash里面就好了..注意双hash,一个用来当链表一个用来在链表里判重. 复杂度的话,只考虑合并是$nk$的(相当于把所有串算一次),而拆分是$ck^2$的,拆对合并的复杂度影响是跟拆本身复杂度一样的. //#include<ios…
$n \leq 1000000$个操作:一,给$x$加上$a*2^b$:二,问$x$的某个二进制位$k$.$b,k \leq 30n$,$|a| \leq 1e9$. 30暴露了一切..可以把30个二进制位压一位,进位用线段树找到第一个0,而退位用类似的方法找到第一个1. 但其实第$k$位只由加的总量和减的总量的0到$k$这些数位上决定.因此可以把加减分成两个数组,不用再写一个线段树里的减法.回答时查一下$0$到$k-1$中加的和减的孰大孰小,以及第$k$位是否相同,分类可得答案. 这里写的直接…