题目链接 传送门 题意 你有\(n\)只怪,每只怪的伤害为\(a_i\),对手有\(m\)只怪,每只怪的伤害为\(b_i\),对手的怪有普通状态和防守状态(普通状态:如果你用攻击力为\(a_i(a_i\geq b_j)\)的怪去攻击对手第\(j\)只怪将会给对手造成\(a_i-b_j\)的伤害:防守状态则不会造成\(a_i-b_j\)的伤害),每只怪只能使用一次,怪一旦死亡就会消失. 用攻击力为\(x\)的怪去打攻击力为\(y(x\leq y\),\(x\geq y\)的情况上面说了\()\)的…
2018 CCPC 吉林站 H Lovers 传送门:https://www.spoj.com/problems/LIS2/en/ 题意: q次操作 1.将第l~r个数的左边和和右边都加上一个数d, 使得这个数变成 \(ds_id\)的形式 2.询问区间和 题解: 线段树题 这个update操作不好维护,我们来冷静分析一下 对于一个数x,他的长度为len,我们在他后面加上一个数d,那么他的长度就变成了len+1,这个数x就变成了\(x*10+d\) 同理,在前面加上一个数,这个数x就变成了\(d…
题目链接 传送门 题意 给你\(n\)个数,每个数表示\(\frac{1}{2^{a_i}}\),要你把这\(n\)个数分为两堆,使得每堆的和都大于等于\(\frac{1}{2}\). 思路 首先我们假设第一堆的下标为\(x_1,x_2\dots,x_n\),且\(2^{a_{x_1}}\leq 2^{a_{x_2}}\leq\dots\leq 2^{a_{x_n}}\),则: \[ \begin{aligned} &\sum\limits_{i=1}^{n}\frac{1}{2^{a_{x_i…
题目链接 传送门 题意 初始时有\(n\)个空串,然后进行\(q\)次操作,操作分为以下两种: wrap l r x:把\(l,r\)中的每个字符串的首尾都加入\(x\),如\(s_i=121,x=3\rightarrow s_i=31213\): query l r:查询\(\sum\limits_{i=l}^{r}s_i\). 思路 线段树. 对于每个结点我们存下这个区间的区间和\(sum1\),区间长度\(sum2\)(由于区间内的数操作次数不同会导致数的位数不同所以我们用\(10^x\)…
题目链接 传送门 题意 告诉你圆锥的底部圆的半径和圆锥的高,再给你一个点的坐标及其运动向量,问你这个点什么时候会与这个圆锥相撞. 思路 比赛场上二分一直没过但是有人二分过了,今天再写这题想再试下二分,最后发现了自己的问题所在(可能这个点在\(check\)的时候已经穿过圆锥但是我的代码会把它当成还没达到,所以就会使得\(lb=mid\)).最后按照公式求解过了. 圆锥表面方程为 \[ \begin{aligned} \begin{cases} \frac{h-z}{h}=\frac{R}{r}\…
http://acm.hdu.edu.cn/showproblem.php?pid=6562 题意: q次操作 1.将第l~r个数的左边和和右边都加上一个数d, 使得这个数变成 dsiddsid的形式 2.询问区间和. 题解:对于一个数字x若执行第一个操作则   则若对于一个区间sum(l,r)执行第一个操作则   设  则便可以用线段树去维护这两个东西便可,这里只考虑了d是一位数的情况,但是在线段树下传标记的过程中可能一个区间多次执行第一个操作,那么wrap的d便不是一位数,而且左右两边的d是…
发现思维题是硬伤,代码能力是硬伤,对知识点的理解不深刻是硬伤 接下来要做的就是 1.熟悉每一个知识点,把每一个知识点和实现它的代码联系在一起学习 2.多见题,看看他们是怎么考察这些知识点的,等比赛的时候不要跑偏 第二点尤其重要 之前整理出来的代码仓库也不是完全没有用处,整理板子其实只是为以后真正认真学习这些东西打一个铺垫,梳理一下脉络而已 说说吉林站的比赛 开场的时候一眼看出了A题的整除分块,想快点A掉它,但是PC^2炸了 无奈重启之后敲,因为对于CB在Linux的配置非常不熟悉,以至于只能终端…
2018 CCPC 桂林站(upc复现赛)补题 G.Greatest Common Divisor(思维) 求相邻数的差值的gcd,对gcd分解素因子,对所有的素因子做一次遍历,找出最小答案. 几个样例: ans : 0 1 0 2 33 6 91112211 76 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #…
题目链接 本来觉得这不是经典的贪心吗..果断水一次,wa了,看了看discuss,发现貌似不好水,土土的DP了一下,复杂度很高了,又T了...然后想想单调队列,二分什么的...不好往上加,直接搞了标记数组flag,暴力从大到小,遍历寻找,然后就过了...这算是优化吗,瞎搞... #include <cstring> #include <cstdio> #include <string> #include <iostream> #include <alg…
Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100610 Description In a Famous TV Show “Find Out” there are n characters and only one Horrible Truth. To make the series breathtaking all way long, the sc…