2020 CCPC Wannafly Winter Camp Day1 - I. K小数查询(分块)

题目链接:K小数查询 题意:给你一个长度为$n$序列$A$,有$m$个操作,操作分为两种: 输入$x,y,c$,表示对$i\in[x,y] $,令$A_{i}=min(A_{i},c)$ 输入$x,y,k$,表示询问区间$[x,y]$中的第$k$小数 思路:数据范围不是很大,可以分块来做,记录每个块已经更新过的最小值$imin[]$,询问时二分...

阅读全文

ZOJ - 3203 Light Bulb(三分)

题意:灯离地面的高度为$H$,人的身高为$h$,灯离墙的距离为$D$,人站在不同位置,影子的长度不一样,求出影子的最长长度。 思路:设人离灯的距离为$x$,当人走到距离灯长度为$L$时,人在墙上的影子消失,此时人再往前走,影子的长度必然会减小,此时的$L$就为三分的左边界,右边界为$R=D$,由形似三角形可以推导出$L=D-\frac{h...

阅读全文

POJ - 1845 Sumdiv(分治)

题意:求$A^{B}$的所有约数之和$mod\ 9901$ 思路:由结论有,一个数$n$进行质因数分解得到$n={p_{1}}^{c_{1}} * {p_{2}}^{c_{2}} *…* {p_{k}}^{c_{k}}$,那么$n$的约数之和为 $$sum=(1+{p_{1}}^{1}+\cdots+{p_{1}}^{c_{1}})*(1...

阅读全文

Codeforces Round 602 (Div. 2, based on Technocup 2020 Elimination Round 3) - D2. Optimal Subsequences (Hard Version)(主席树)

题意:一共有$n$个数,$m$次询问,每次询问包括$k、pos$两个数,需要你从这$n$个数里面找出$k$个数,使得他们的总和最大,如果有多种情况,找出序号字典序最小的一组,然后输出这个序列中第$pos$个数的值。 思路:根据贪心的思想,把这$n$个数按大到小排个序$($相同大小按下标从小到大$)$,再按照每个元素的下标依次放入主席树中,对于每次询问,查找前...

阅读全文

Educational Codeforces Round 79 (Rated for Div. 2) - D. Santa's Bot(数论)

题意:有$n$个孩子,第$i$个孩子有$k[i]$件想要的礼物,第$j$个礼物为$a[i][j]$,现在随机挑一个孩子,从他想要的礼物里面随机挑一个,然后送给另一个孩子$($这个孩子可以和第一个孩子是同一个人$)$,问你送的这个礼物在后一个孩子愿望单里的概率。 思路:求出每件礼物出现的次数$cnt[]$,挑出第一个孩子的概率为$\frac{1}{n}$,在他...

阅读全文

Codeforces Global Round 6 - D. Decreasing Debts(思维)

题意:有$n$个人,$m$个债务关系,$u_{i}$,$v_{i}$,$d_{i}$表示第$u_{i}个人$欠第$v_{i}$个人$d_{i}$块钱,现在你需要简化债务关系,使得债务总额最小。比如,$A$欠$B$十元,$B$欠$C$十五元,$C$欠$A$十元,此时总的债务为$10+15+10=35$,我们可以把债务关系简化为$B$欠$C$五元,那这...

阅读全文

Codeforces Round 608 (Div. 2) - D. Portals(贪心)

题意:你起初有一支军队,有$k$个士兵,现在有$n$座城堡,你若想占领第$i$座城堡,至少得有$a[i]$个士兵才能占领$($占领后士兵不会减少$)$,占领了第$i$座城堡后,你将得到$b[i]$个士兵,然后你有两种方式防御你占领的城堡: 在你占领第$i$个城堡后留下一个士兵防御第$i$个城堡 有$m$个传送门,能从$u_{i}$传送到$v_{i}(u_{...

阅读全文

Codeforces Round 606 (Div. 2) - E. Two Fairs(割点+dfs)

题意:给你一张无向连通图,对于求有多少对$(x,y)$满足互相到达必须经过$(a,b)$,其中$x\neq a,x\neq b,y\neq a,y\neq b$ 思路:显然$a,b$都必须为割点,所以先用$tarjan$判断$a,b$是否都为割点,如果$a$或$b$有一个不为割点,那么答案就是$0$ 当$a,b$都为割点时,答案为连通块$1$内点的个数$*...

阅读全文

Codeforces Round 603 (Div. 2) - E. Editor(线段树)

题意:给你一串指令集,当某个指令为$L$时,表示鼠标的光标向左移动一个单位$($如果已经位于最左边,则不移动$)$,当指令为$R$时,表示将光标像右移动一个单位,其他的字符$($只有小写字母和左括号、右括号$)$都表示将当前光标指向的字符更改为输入的字符,对于每个指令,输出一个数,如果所得到的文本中括号序列合法,则是输出当前文本最大的括号嵌套层数,括号序列不...

阅读全文

Educational Codeforces Round 77 (Rated for Div. 2) - D. A Game with Traps(二分)

题意:$m$个士兵,每个士兵都有一个灵敏度$a[i]$,起点为$0$,终点为$n + 1$,在路上有$k$个陷阱,每个陷阱有三个属性$l[i],r[i],d[i]$,$l[i]$表示陷阱的位置,如果你走到$r[i]$这个位置,则可以拆掉这个陷阱,$d[i]$与士兵的灵敏度对应,如果$d[i]>a[j]$,则这个士兵就会被困住,现在你可以挑选任意数量的士...

阅读全文