[链接] 我是链接,点我呀:) [题意] 给你两个数组a,b; b数组是1..n的一个排列. 现在给你两种操作: add l,r将a[l..r]都加上1 query l,r 询问$∑^r_l\frac{ai}{bi} $ 其中a[i]/b[i]是下取整. n<=10^5 [题解] 很优秀的题 我们可以在线段树1中维护所有a[i]/b[i]的值 想一下何时我们才要让线段树1中的值改变? 必然是我们一直加a的值,让a[i]的值超过了b[i] 设让线段树中的值改变操作为操作x 那么操作x最多湖执行多少…
多校训练就这么华丽丽的到了 ,于是乎各种华丽丽的被虐也開始了. 这是多校的1002; 最小费用最大流. 题目大意: 有n*m个方格,每一个方格都一个的十进制一位的数.你能够操作K次. 对于每一次操作,你能够选择一个出发点向下或向右Jump.跳的花费是|x1-x2|+|y1-y2|-1的能量 .假设你跳的这两个位置上数字同样,那么你就会获得数字表示的能量值. 对于每一次操作,你能够这样跳随意次 ,可是每一个位置仅仅能经过一次在这K次操作中. 初始能量值是0,当操作完毕后,假设n*m个方格没有都经过…
Naive Operations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 502768/502768 K (Java/Others)Total Submission(s): 0    Accepted Submission(s): 0 Problem Description In a galaxy far, far away, there are two integer sequence a and b of length…
Magical Forest Time Limit: 24000/12000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 134    Accepted Submission(s): 69 Problem Description    There is a forest can be seen as N * M grid. In this forest, there is…
6356.Glad You Came 题意就是给你一个随机生成函数,然后从随机函数里确定查询的左右区间以及要更新的val值.然后最后求一下异或和就可以了. 线段树,区间最大值和最小值维护一下,因为数据有点大,不剪枝就会超时.(默默吐槽,剪了枝照样超时) 因为太菜,交了24遍也是没过,TLE,WA,RE轮流来,而且感觉这题有毒,删一个没用的变量就会WA... 百度了一下题解,发现有人和我写的几乎一模一样,但是人家的就可以过,我的死也过不去. 人家的博客:HDU6356 Glad You Came(…
6315.Naive Operations 题意很好理解,但是因为区间求和求的是向下取整的a[i]/b[i],所以直接分数更新区间是不对的,所以反过来直接当a[i]==b[i]的时候,线段树对应的位置更新+1操作是可取的,但是怎样才能在合适的时候+1操作呢?一开始智障想的是只要单点是b[i]的倍数就可以啊,但是这样就相当于单点查询的操作,铁定超时到上天,但是反过来就可以啊,直接一开始给一个数组赋值为b[i]的值,区间更新的时候所有的都更新,然后区间查询一下最小值,有0就说明有的已经正好减完b[i…
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6053 [Description] 给你一个b数组,让你求一个a数组: 要求,该数组的每一位都小于等于b数组: 且这个b数组的n个数的gcd>=2 [Solution] 设f[i]表示gcd为i的a数组有多少个; 则从gcd大的开始,往gcd小的方向枚举gcd为i; 然后a的每个位置都可以为i的倍数; 则f[i] = a[1]/i * a[2] / i * a[3]/i - a[4]/i; 但是这…
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6047 [Description] 给你一个数列a和一个数列b; 只告诉你a的前n项各是什么; 然后让你求第出a的第n+1..2*n项; 这里a的第i项等于max(a[j]-j)这里j∈[b[k]..i-1]; (i>n) 且,每个b只能用来推一次a. 让你求出∑2∗nn+1ai的最大值 [Solution] 一开始的a数组,对于ai也直接减去i就好; 这样在推的时候,直接取区间的最值就可以了,省…
[Link]: [Description] 给你n个点整数点; 问你这n个点,能够组成多少个正多边形 [Solution] 整点只能构成正四边形. 则先把所有的边预处理出来; 枚举每某两条边为对角线的情况; 看看这两条对角线能否组成一个正方形; 可以的话,递增答案. [NumberOf WA] 1 [Reviw] (排序的时候边的数目和点的弄混了) [Code] #include <bits/stdc++.h> #define int long long using namespace std…
[Link]: [Description] 两个人都做了完全一样的n道选择题,每道题都只有'A','B','C' 三个选项,,每道题答对的话得1分,答错不得分也不扣分,告诉你两个人全部n道题各自选的是什么,问你第一个人得X分,第二个人得Y分可不可能? [Solution] 我们可以倒着想这个问题; 第一个人答对一题,就让X减去1 第二个人答对一题,就让Y减去1 只要能让X和Y都变成0,那就可以了,因为剩余的题目,不管两个人答案 是什么,都可以让他们俩都错. 设xt,bxt是两人所有的题答案相同和…