摘要: 方法:指针扫描数组 每次选择树的重心作为树根,从树根出发进行一次DFS,求出点到树根的距离,把节点按照与树根的的距离放进数组d,设置两个指针L,R分别从前、后开始扫描,每次满足条件时答案累加R-L。,之后减去子树的满足条件的情况,删除根节点,对其子树继续上述操作,不断累加答案。 代码: 阅读全文
posted @ 2018-09-26 21:45 维和战艇机 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意:给定平面直角坐标系中的N个矩形,求它们的面积并。 题解:建立一个四元组(x,y1,y2,k).(假设y1<y2)用来储存每一条线,将每一条线按x坐标排序。记录所有的y坐标以后排序离散化。离散化之后线段树的第i个叶子节点储存的是y[i+1]-y[i]. 这里的线段树用的是一个不用下传延迟标记的做 阅读全文
posted @ 2018-09-21 21:09 维和战艇机 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://pintia.cn/problem-sets/1036903825309761536/problems/1041156323504345088 题意:小明从某一点出发,向右方前进,只有路口是绿灯(用1代表)的时候才可通行,红灯要等待,所有红绿灯每过一秒变化一次(红->绿,绿 阅读全文
posted @ 2018-09-16 17:16 维和战艇机 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 设读入的数组是a,树状数组用来维护a数组区间和sum,线段树用来维护一个另一个数组ssum的区间和,区间每个点a[i]*(n-i+1),那么l-r的答案是l-r的ssum-(n-r)*(sum[r]-sum[l-1]) (纸上画一下就知道了) 阅读全文
posted @ 2018-09-09 20:26 维和战艇机 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 线段树,假设求(x1,y1)点的贡献,就找所有比该点出现时间晚,且x坐标大于x1的点中y最大的,贡献就是Y-y1,由于题目条件限制,不可能有x坐标大于(x1,y1)且y坐标大于y1的点,所以贡献肯定为正。 思路参考了这篇博客:https://blog.csdn.net/qq_39599067/art 阅读全文
posted @ 2018-09-09 20:20 维和战艇机 阅读(235) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; typedef long long ll; const int a[4]={2,3,4679,35617}; int p[36000],b[4],n,g,ans,i,j,x,y,mod=999911658; int power(int a,int b){//快速幂 int c=1; for(;b;b>>=1){ if(b&1... 阅读全文
posted @ 2018-08-24 16:16 维和战艇机 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6424 解法:找规律。因为最多三项,a1^a2^a3可以拆成(a1+2)+(a2+1)*a3,然后建成数对,其中数对的第一个元素是两个元素中的最小值,第二个是最大值。 (a1+2)可以变成(a1+2)*i 阅读全文
posted @ 2018-08-21 20:33 维和战艇机 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 本以为是个找规律的题一直没找出来。。。 题目:给你一个n*m的矩阵和1-n*m个数,问有多少种情况满足纳什均衡的点只有一个。纳什均衡点是指这个元素在所在行和所在列都是最大的。 思路:吉老师直播的思路:(DP O(n^4)) 可以考虑从大到小的填充这个矩阵,设dp[cnt][i][j]是已经填充了cn 阅读全文
posted @ 2018-08-21 17:46 维和战艇机 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个升序的数组,元素之间如果gcd不为1可以建边,让你判断是否可以建成一颗二叉搜索树。 解法:dp,首先建图,然后进行状态转移。因为如果点k左端与i相连,右端与k相连,则i和k可以相连,同时像左右两端拓展。 最后判断1和n是否相连即可。 阅读全文
posted @ 2018-08-20 21:31 维和战艇机 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一段字符串,可以选择任意多的位置,每个位置会反转两边的字符串,问交错的字符串最长是多长? 思路:找规律,仔细分析样例1.假设位置为 1 2 3 4 5 6 7 8 9,反转之后会发现答案是7 8 9 1 2 3 4 5 6 ,其中答案串是7 8 9 1 2,所以可以把原字符串复制一份粘在原 阅读全文
posted @ 2018-08-20 10:44 维和战艇机 阅读(367) 评论(0) 推荐(0) 编辑