摘要: 单纯形 求解线性规划最优解问题(全部转化成约束条件<=(非负条件可以是>=),并且求最大值问题) bzoj1061 志愿者招募 题目大意:给定n天,每天需要志愿者ai人;m类志愿者,从si~ti天工作,每人要ci元。求最小费用。 思路:根据题意可以列出目标函数是min sigma(i=1~m)cix 阅读全文
posted @ 2016-01-10 20:29 Rivendell 阅读(389) 评论(0) 推荐(0) 编辑
摘要: FFT 快速计算多项式乘法 bzoj3527 力 题目大意:给定qi,求ei=sigma(j<i)qj/(i-j)^2-sigma(j>i)qj/(i-j)^2。 思路:画个表格能发现两个三角都是可以卷积的,要求qj*1/(i-j)^2累加到ei上,但是右上角的部分要倒两次,然后就是fft了。 #i 阅读全文
posted @ 2016-01-04 20:24 Rivendell 阅读(481) 评论(0) 推荐(0) 编辑
摘要: bzoj4319Suffix reconstruction题目大意:给定后缀数组的sa,求原数组(仅包含小写字母)的一种方案,无解输出-1。思路:考虑sa[i]和sa[i-1],如果在原数组中sa[i]+1的排名>sa[i-1]+1的排名,sa[i]和sa[i-1]就可以是一样的字母,从小字母向大里... 阅读全文
posted @ 2015-11-24 21:37 Rivendell 阅读(317) 评论(0) 推荐(0) 编辑
摘要: DAY1 T1根据题目描述模拟就可以了。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxm 100 using namespace std; int ai[maxm][maxm 阅读全文
posted @ 2015-11-17 16:16 Rivendell 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: bzoj1486 最小圈 题目大意:求一个图内的某个环,使得sigma ai[i]/k(环上点数)最小。 思路:二分答案,如果sigma ai[i]-k*mid>0说明mid可以更大,每次判断的时候给所有边-mid,就成了判断负环的问题。这里用spfa普通的判法会tle,所以要用深搜版的spfa来判 阅读全文
posted @ 2015-10-27 23:23 Rivendell 阅读(367) 评论(0) 推荐(0) 编辑
摘要: codevs1513 皇帝的烦恼 题目大意:给定n个点成环,每个点要求染ai个颜色,要求相邻两点不能有相同颜色,求最少颜色。 思路:二分+dp。fi[i]表示i这个点和1最少相同颜色;gi[i]表示i这个点和1最多颜色,互相更新一下。如果fi[n]==0则可以(中间还要注意如果相邻两个点的和大于x也 阅读全文
posted @ 2015-10-23 21:30 Rivendell 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 置换 cow sorting题意: 有N头牛,将他们的特征值排升序,每交换两头牛,代价就是两头牛的和,求最小的代价和。思路: 赤裸裸的置换群,简单学习后,直接上手。。。记录下原数和位置,排序后,找到循环节(原数列和升序后的数列中相应多个位置的出现的数的集合完全相等即为一个循环节),个数为ci,记下这 阅读全文
posted @ 2015-10-13 21:51 Rivendell 阅读(501) 评论(0) 推荐(0) 编辑
摘要: bzoj4031 小z的房间题目大意:给定n*m的网格,有一些障碍点,求生成树的个数。思路:矩阵树定理直接求解就可以了。但是因为要取模所以要稍微修改一下高斯消元,行列式交换行或列的时候行列式的值要变号。#include#include#include#include#define p 1000000... 阅读全文
posted @ 2015-10-05 19:42 Rivendell 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 模拟退火 bzoj3680 吊打XXX 题目大意:给定一些绳子和绳子上的重量,求出最后绳结的坐标。 思路:这个位置就是广义费马点,就是所有点到这个点的距离*每个点的权值最小的点。模拟退火,各种调常数。 #include<iostream> #include<cstdio> #include<cstr 阅读全文
posted @ 2015-09-03 17:34 Rivendell 阅读(356) 评论(0) 推荐(0) 编辑
摘要: CODEVS1056 圆内三角形统计 题目描述:圆周上有N(N<=100)个点,用线段将它们彼此相连。这些线段中任意三条在圆内都没有公共交点,问这些线段能构成多少个顶点在圆内的三角形? 思路:c(n,6).每一个园内三角形的三边都是圆上不同的点,所以就是从n个点中取6个的组合数。 #include< 阅读全文
posted @ 2015-08-29 11:30 Rivendell 阅读(606) 评论(0) 推荐(0) 编辑