- 博客(7)
- 收藏
- 关注
原创 bzoj 3028 食物 (生成函数)
题面明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 ...
2018-05-12 11:18:34 337
原创 SPOJ - CIRU,bzoj 2178 圆的面积并
SPOJ-CIRU,bzoj2178 圆的面积并题意给出n个圆,求出它们的面积并.做法首先要引入辛普森积分: 用于求解由平滑曲线构成的面积,f(x)根据具体题意而定. 在本题中a,b表示求的组合图形的左右两端的横坐标,f(i)是x=i这条直线经过的图形的总长度. 比如说要用这个方法求一个圆心坐标为(1,2),半径为1的圆: 那么a=x-r=0,b=x+r=2,f(a...
2018-05-11 16:35:42 2304
原创 AtCoder - 2346 D - No Need
题面题意给出n个数和k,定义第i个数为不需要的数,当且仅当可以在n个数中选出一些数(不包括第i个数)的和在k-num[i]与k-1之间.做法用背包的方法不难求出在n个数中选出一些数,和可以是哪些数,但是难点就在于考虑第i个数时,不能选择第i个数,如果逐个数一一计算的话,复杂度为O(n^2*k),必然会T. 考虑优化这个方法,发现我们可以求出1~n/2的所有数能组成哪些和,这些和对计算n/2+1~n
2018-05-10 14:22:55 561 2
原创 SPOJ GSS2 - Can you answer these queries II
题面题意给出一串数,每次询问给出l,r,求l,r之间的所有子串中,经过去重后,和的最大值是多少.做法这题和BZOJ4504 k个串相似,该题建出的主席树可以在线求以某个点为右端点时的区间最大值. 因为这题不要求在线,所以不要求线段树可持久化,因而可以根据询问的右端点进行排序,之后通过不断加入右端点,也就是区间[这个数上一次出现的位置 , 这个数的位置]加,直接用线段树求解. 比较两题,发现此题要
2018-05-09 13:02:40 351
原创 SPOJ GSS1 - Can you answer these queries I
题面题意给出一串数,每次询问给出l,r,求其中满足l<=i<=j<=r时,a[i]+a[i+1]……a[j]的最大值.做法用线段树来做,不难发现要想求出线段树的每个节点的最大子串和十分容易,难点就在于区间的合并. 可以对于每个线段树的上的点所维护的区间[l,r]记录3个值,其中令l<=i<=j<=r 1.sum 2.maxl:[l,i]的最大值 3.maxl.[i,r]的最大值 4.mx:
2018-05-08 18:50:37 263
原创 codeforces 341D Iahub and Xors
题面题意维护一个矩阵,要求支持以下两种操作: 1.对一个子矩阵全部Xor一个值 2.询问一个子矩阵的Xor值.做法首先考虑一维的情况,如果要维护区间异或,可以让每一个点i表示[1,i]这段区间的异或值,就可以发现,当区间[i,j]异或上一个值时: 1.当(j-i)为奇数时,[i,j]中与i的奇偶性相同的点会受到影响. 2.当(j-i)为偶数时,[i,j]中与i的奇偶性相同的点和j右边的所有点
2018-05-08 17:32:09 970 11
原创 codeforces 976D Degree Set
题面题意给出一串单调递增的数a,要求你构造一张有a[n]+1个点的无向图,其度数集合恰好为给出的这串数.做法构造方法是这样的: 对于每个点只有两种操作: 1.这个点向后面所有点连边(可以保证不会影响前面的点的度数) 2.这个点不向后面的点连边 首先记录两个指针l,r记录当前小度数和大度数分别考虑到哪里. 对于这个点分下面三种情况进行讨论: 1.进行操作1后,这个点的度数为a[l],那么进
2018-05-01 16:15:48 732 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人