摘要: "题目链接" 题意:找两个不重叠的区间段,每个区间段都有一个价值,两区间长度加起来刚好等于x,并且使得价值最小。区间段个数2e5以内。 类似这种题,就是找两个东西的问题,但是一般的两个for就是超时,一般情况总结下其中一个遍历,另外一个进行二分处理。当样的方法不行,要找他们之间的关系,先进行按一定规 阅读全文
posted @ 2017-12-20 17:24 Linese 阅读(239) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意:给一个x数,可以将他拆成多个整数,并且这些整数互不相同,使得累积和最大,求累积和最大,最后取模1e9+7 题解:思考:如果将x拆成多个2的话会让答案值最大,然后再拆成三,再拆成4.....以此类推 要使答案最大可以从2 3 4 5 ....一直枚举下去,然后将剩余的k值对前面的进 阅读全文
posted @ 2017-12-13 17:23 Linese 阅读(362) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意:给你一颗满二叉树,给出每个的边权,第i条边连接第i+1和第(i+1)/2的点 询问:x点到其他点的距离d[i] , d[i] h =0 的值累加的和 题解:构造树前缀和,将其每个子节点到该节点的值预处理出来,利用前缀和数组二分查找 具体看代码注释 代码转自 "https://ww 阅读全文
posted @ 2017-12-13 17:04 Linese 阅读(223) 评论(0) 推荐(0) 编辑
摘要: "题目连接" 转载博客: "http://blog.csdn.net/u010660276/article/details/44920725" 题意:在一棵树上找点对数,使得两点之间的距离小于等于k,问有多少对 思想: 找其树的重心,重心即:使得子树个数尽量多,并且子树的结点数尽量少,通俗一点,可以 阅读全文
posted @ 2017-12-06 00:45 Linese 阅读(99) 评论(0) 推荐(0) 编辑
摘要: "题目连接" 题意: 在n m的方格中填入数字使得每行每列的的乘积都等于k值,k等于1或者 ,问有多少种方案 1 using namespace std; typedef long long ll; const ll mod = 1e9+7; int gcd(int a,int b) {return 阅读全文
posted @ 2017-11-27 22:28 Linese 阅读(152) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意:在n m的矩阵中选择变换或者不变换一个数变成p,使得最大子矩阵和最小 1 using namespace std; const int inf = 2e9+1e8; const int N = 160; int a[N][N]; int L[N],R[N],U[N],D[N],d 阅读全文
posted @ 2017-11-24 21:07 Linese 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 类型:三维动态规划 "题目链接" 题意: 合并连续石头块,最终要合并成一块,求时间最短,每次只能连续合并L~R块石头,不能合并成一块时输出 1 题解: 利用动态规划解决两种分问题 dp[l][r][k]:表示在区间l到r之间分成k堆石头的最小代价 当k=1时,转移方程为:dp[l][r][1]=mi 阅读全文
posted @ 2017-11-24 01:08 Linese 阅读(148) 评论(0) 推荐(0) 编辑
摘要: "题目连接" & 8194;& 8194;& 8194;这次能够去北京参加区域赛感到挺高兴的,能够第一次出去比赛就块拿牌也挺高兴的,但是,在比赛中觉得自己队伍并没有达到自己预期的结果,只是比手速做了两个签到题,在开赛一小时半的时候已经将将两道签到题做完了,但是接下来就毫无进展。 & 8194;& 8 阅读全文
posted @ 2017-11-23 18:14 Linese 阅读(151) 评论(0) 推荐(1) 编辑
摘要: 第一步:获取资源 安装vmware 百度上搜索vmware虚拟机,直接在百度上下载下来。 按平时安装东西步骤差不多 最后使用的时候有出现适用30天或者永久使用需要序列号 序列号可以使用 5A02H AU243 TZJ49 GTC7K 3C61N 直接复制就好了 下载ubuntu镜像文件 "推荐教程网 阅读全文
posted @ 2017-10-31 00:41 Linese 阅读(3449) 评论(0) 推荐(0) 编辑
摘要: 给一个有向无环图求顺序 include using namespace std; define pb push_back const int N = 1010; typedef vector vi; vectorg[N]; vi ans; int in[N]; int topo(int n) { f 阅读全文
posted @ 2017-10-28 11:04 Linese 阅读(95) 评论(0) 推荐(0) 编辑