- 博客(25)
- 收藏
- 关注
原创 1096: [ZJOI2007]仓库建设
http://www.cnblogs.com/iwtwiioi/p/4108902.html这个很详细了。。。。。。。斜率优化第一题今天头晕 就偷懒不写题解了。。#include#include#include#includeusing namespace std;char c;inline void read(long long &a){ a=0;do c=g
2015-11-29 11:54:25 469
原创 BZOJ1024: [SCOI2009]生日快乐
爆搜不解释。。。。。#include#include#include#includeusing namespace std;double dfs(double x,double y,int a){ double ans1,ans2,ans=9999999; int i; if (a==1) { if (x<y) swap(x,y);
2015-11-26 18:59:44 520
原创 BZOJ3626: [LNOI2014]LCA
想到离线之后就很裸了。。。我承认自己是SB 一开始还没想到。。。。还有。。今天每次提交都会忘了删文件。。。。。#include#include#include#include#includeusing namespace std;char c;inline void read(int &a){ a=0;do c=getchar();while(c'9'); wh
2015-11-26 18:40:26 658
原创 BZOJ1293: [SCOI2009]生日礼物
SB题。。。。不解释#include#include#include#includeusing namespace std; long long FULL,now;long long line[1000001];char c;inline void read(long long &a){ a=0;do c=getchar();while(c'9');
2015-11-26 17:21:26 436
原创 BZOJ1257: [CQOI2007]余数之和
设数列 Ai=X mod i 分析可得 余数是一些等差数列头尾相接组合起来的 然后就是二分找这些等差数列喽#include #define SUM(L,R) (((L+R)*(R-L+1))>>1) using namespace std;#define LL long long LL n,k,ans; int main(){ scanf("%lld%lld",
2015-11-25 19:49:13 551
原创 BZOJ3083: 遥远的国度
裸的树剖 换根之后对于一个询问只需要判断当前根是否是在原树中被该节点包含就好了人蠢代码长 没办法#include#include#include#includeusing namespace std;char c;inline void read(long long &a){ a=0;do c=getchar();while(c'9'); while(c='0')a
2015-11-25 19:36:02 440
原创 BZOJ1059: [ZJOI2007]矩阵游戏
先看看棋盘 显然可知 同行同列的点无论经过多少次变换人仍然同行或同列,所以题目可转换为能不能找到n个互相不同行或同列的点。#include#include#includeusing namespace std;bool map[201][201],y[201];int has_link[201];int n;char c;inline void read(int &a){
2015-11-24 19:03:11 528
原创 BZOJ1208: [HNOI2004]宠物收养所 Splay
一开始没懂题目。。。。后来才发现这么水#include#include#includeusing namespace std;char c;inline int read(int &a){ a=0;do c=getchar();while(c'9'); while(c='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();}inline i
2015-11-22 14:54:10 1161
原创 BZOJ4319: cerc2008 Suffix reconstruction Suffix Array 的理解
来源:http://blog.csdn.net/GEOTCBRL/article/details/49664947本来是一点思路都没有的 可能是因为不怎么用Suffix Array 吧 一般都是用Suffix Automaton的。。如果这一题自己做的话是可以加深对后缀数组的理解的。。。。那我就直接厚脸皮的套别人结论了。。。考虑sa的计算方式,然后贪心。 如果当前s
2015-11-22 09:03:06 691
原创 BZOJ1143[CTSC2008]祭祀river 偏序集及Dilworth定理
这里讲一下我对偏序集的认识 如果有偏差可以评论我 我会修改一:定义 (度娘上copy来的 不想看的可以跳过设R是非空集合A上的一个二元关系,若R满足: 自反性、反对称性、传递性,则称R为A上的偏序关系。以下为定义:非严格偏序,自反偏序给定集合S,“≤”是S上的二元关系,若“≤”满足:自反性:∀a∈S,有a≤a;反对称性:∀a,b∈S,a≤b且b≤a,则a=b;
2015-11-20 12:43:45 2854
原创 bzoj3689 luogu p1337
人生第一道退火 (虽然调了一个上午然后删了几个变量居然A了雾。 带权值费马点? 反正直接暴力退火就是了 然后不停调常数我可怜的ratioQAQ附代码:#include#include#include#include#includeusing namespace std;struct node{double x,y,g;}p[10201];int n;
2015-11-13 18:16:02 622
原创 codevs1356 bzoj2746 jsoi2012
bzoj2746 jsoi2012" TITLE="codevs1356 bzoj2746 jsoi2012" /> bzoj2746 jsoi2012" TITLE="codevs1356 bzoj2746 jsoi2012" /> bzoj2746 jsoi2012" TITLE="codevs1356 bzoj2746 jsoi2012" /> bzoj2
2015-11-13 18:15:59 584
原创 codevs 1033蚯蚓的游戏 (最大费用流
题目描述 Description在一块梯形田地上,一群蚯蚓在做收集食物游戏。蚯蚓们把梯形田地上的食物堆积整理如下: a(1,1) a(1,2)…a(1,m) a(2,1) a(2,2) a(2,3)…a
2015-11-13 18:15:57 468
原创 codevs 1227 方格取数 网络流
题目描述 Description给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该格子的数就变成0,这样一共走K次,现在要求K次所达到的方格的数的和最大输入描述 InputDescription第一行两个数n,k(10接下来n行,每行n个数,分别表示矩阵的
2015-11-13 18:15:54 446
原创 Poj1416
Shredding CompanyTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 4550Accepted: 2605DescriptionYou have just been put in charge of developing anew shredder for the Shreddin
2015-11-13 18:15:51 496
原创 Poj3020
Antenna PlacementTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 7174Accepted: 3565DescriptionThe Global Aerial Research Centre has beenallotted the task of building the f
2015-11-13 18:15:49 474
原创 codevs1022
有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地。如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积。 1022" TITLE="codevs 1022" />分析:一道很水的二分图匹配,染色染好后直接dinic求最大匹配数代码: #include#include#include#include#includ
2015-11-13 18:15:46 477
原创 堆模版
#include#include#includeusing namespace std;const long longmax_data=10000000000000,min_data=-max_data;struct min_heap{ long long l; long long data[5000200]; void read() { scanf
2015-11-13 18:15:44 433
原创 后缀数组
当我们事先知道一个很大的文本串,要在这个文本串里面找若干个字符串,此时用kmp或者ac自动机都会导致时间复杂度过高,所以我们需要预先处理文本串。这时候,我们可以用后缀树。我们这里介绍后缀数组的组建。 直接上代码,如果不知道什么是后缀数组,请问度娘。void doit() { int i,j,k,l; n=strlen(s); for(i=1;i t[s[i-1]]
2015-11-13 18:15:41 470
原创 洛谷p1160 双向链表
题目大意:一个学校里老师要将班上N个同学排成一列,同学被编号为1~N,他采取如下的方法:1.先将1号同学安排进队列,这时队列中只有他一个人;2.2~N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1~i-1中某位同学(即之前已经入列的同学)的左边或右边;3.从队列中去掉M(M在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的
2015-11-13 18:15:38 673
原创 几何求面积
计算几何中求多边形面积是一个很基础的算法,我们知道,两条线段的叉积等于这两条由同一端点引出线段所围成三角形的面积。那么三角形的面积即可由此计算。多边形(凸)内部也可以分出许多个三角形,由此我们可以计算出多边形的面积。 那么各位oier可能想问,凸多边形可以这样求,那么傲多边形呢?别急,我们先来画一个图。如下图,将计算到的面积涂色,得出的结果还是这样,这是为什么呢? d
2015-11-13 18:15:35 636
原创 关于凸包:grahman scan
二维凸包问题(其实还有三维的,但是这里不做研究)是一类关于一个平面上有n个点,让你连接最少的点使给出的所有点在被划定的区域里。如图1: scan" />,这就是一个最优的解。下面我们开始介绍求解方法之一:graham scan、。 首先我们得知道两个有相同起点的矢量(假设p1-->p2, p1-->p3)的叉积的正负(叉积公式:(p2.x-p1.x)*(p3.y-p1
2015-11-13 18:15:33 571
原创 计算几何————洛谷P1222 三角形
题目大意: 给出一些点要你判断一条直线上最多可能有几个点思路: 本来觉得求叉积可能会超时,毕竟n《=700,但是直到(我膝盖中了一箭)我写出叉积的程序交上去后才发现居然没有超时。。。。。。核心代码: int cj(int xx,int y,int z) { return(x[y].x-x[xx].x)*(x[z].y-x[x
2015-11-13 18:15:30 857
原创 NOI题库_微积分_NOI2001反正切函数的应用
对于那个式子,我们可以展开得到(a*b+a*c)=b*c-1 => b=(a*c+1)/(c-a) => b+c=(c*c+1)/(c-a)很显然 a不等于c那么我们可以构造一个函数 f(c)=b+c=(c*c+1)/(c-a), 要求极值 ,那么我们可以先求导, f(x)的导数g(x)=c*c-2*a*c-1因为极值出的导数为零,那么就相当于是一个一元二次方程.此时c=
2015-11-05 17:25:24 983 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人