自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

(╯°口°)╯(┴—┴

┬—┬ ノ( ' - 'ノ)

  • 博客(21)
  • 收藏
  • 关注

原创 BZOJ 3891 Usaco2014 Dec Piggy Back BFS

题目大意:给出一张无向图,有两个人,分别在1和2,他们要到n,一个人走的消耗是c1,c2,两个人一起走是c3,问最少消耗。思路:题中说是可以一起走,而不是必须一起走,所以之需要看这两个人到所有点的距离,还有每个点到终点的距离,之后枚举从那个点开始一起走,求一下最小值就可以了。CODE:#define _CRT_SECURE_NO_WARNINGS#include

2015-02-27 19:08:41 706

原创 BZOJ 3893 Usaco2014 Dec Cow Jog 模拟

题目大意:给出n头牛他们的初始位置和各自的速度,一头牛追上另一头牛之后这两头牛会变成一头牛,问最后剩下几头牛。思路:简单模拟一下不难发现,我们只要算出如果正常行驶每头牛的最后到达的地点,从后往前扫一下,有多少个单调不减的序列就是最后有多少头牛。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #inc

2015-02-27 18:24:06 971

原创 BZOJ 3892 Usaco2014 Dec Marathon DP

题目大意:给出平面上的一些点,要求按顺序遍历,费用是两点之间的曼哈顿距离,可以跳过k次,问最少需要花费多少。思路:O(n^3)dp就行了。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #define MAX 510using namespace std;

2015-02-27 18:22:09 931

原创 BZOJ 3894 文理分科 最小割

题目大意:给出一个表格,每个人要选择文科或者理科,每个人选择文科有一个满意度,选择理科有一个满意度,以一个人为中心的五个人全选择一科也有一个满意度。问最大的满意度是多少。思路:以后看到文理分科之类的8成应该就是最小割了。先把答案全部累加起来,然后减去建图之后的最大流就是答案。S->每个人 f:这个人选择文科的满意度每个人->T f:这个人选择理科的满意度对于每一个人多建

2015-02-27 15:49:01 1098

原创 BZOJ 1046 HAOI 2007 上升序列 DP

题目大意:给出一个序列,求出字典序最小的长度为k的上升序列。思路:先随便搞搞求出一个数组f,表示从i开始最长的上升序列的长度。然后贪心的往后找,能放在当前位置就放。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #define MAX 10010#defin

2015-02-27 14:46:11 702

原创 BZOJ 1513 POI 2006 Tet-Tetris 3D 二维线段树

题目大意:三维俄罗斯方块,问最后摞了多高。思路:二维线段树的裸题。但是要注意二维线段树不支持标记下穿。所以就不下传,每次更新答案的时候先看标记,然后用所有的跟标记比较大小之后返回。具体看代码吧,不知道怎么说。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include

2015-02-27 08:55:39 1149

原创 POJ 2417 Discrete Logging Baby-Step-Gaint-Step

题目大意:给出A,B,C,求A^x=B(mod C)的最小x的值。思路:著名的BSGS算法。将C拆分成根号块,先对一个根号内的东西暴力插入一个Hash表中(别问我为什么不用map,因为这个题卡map。。。另我们要求的x=i * m + j,原式可以写成A^(i * m) * A^j = B(mod C)。这是ax=b(mod c)的形式我们只需要枚举i,然后看有没有符合要求的j就可

2015-02-26 14:46:20 759

原创 BZOJ 3564 SHOI 2014 信号增幅仪 坐标变换+最小圆覆盖

题目大意:给出平面上的一些点,现在让你用一个长轴与x轴成一定角度的,长轴:短轴已知的椭圆来覆盖所有的坐标,求最小的短轴长度。思路:很明显,这个椭圆的形状和放置状态已经给出了,但是没有办法求最小拖圆覆盖啊。采用坐标变换,将椭圆变成圆。首先我们先让长轴与x轴平行,将平面上的所有点都旋转这个角度。之后只需要让所有点的x坐标除以长轴:短轴就可以了。剩下的就是最小圆覆盖了。注:坐标旋转公式:

2015-02-26 11:09:41 1346

原创 BZOJ 1336 Balkan2002 Alien最小圆覆盖

题目大意:最小圆覆盖。思路:再拍一份模板。做法见:http://blog.csdn.net/jiangyuze831/article/details/43950601CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #de

2015-02-26 10:28:20 946

原创 HDU 3007 Buried memory 最小圆覆盖

题目大意:没看。反正就是求最小圆覆盖。思路:一个神奇的算法——随机增量法。可以证明,这个算法可以在O(n)的时间复杂度内求出最小圆覆盖。虽然好像能卡掉的样子,但是加上一句random_shuffle就卡不掉了。具体的过程是这样的:在全局记录一个圆,表示目前的最小圆覆盖。从头开始扫描。遇到第一个不在当前最小圆覆盖内的点的时候:将这个点与当前最小圆覆盖的圆心为直径做一个圆,作为

2015-02-26 10:05:55 1062

原创 JDFZOJ 1005 多边形面积 扫描线

题目大意:给出N个凸多边形,求这些多边形的面积并。思路:N只有不到10,乱搞就可以。还有一种更优的解法,似乎只需要O(n^2logn)的时间就可以解决。但是我并不会,想了解的参照:http://wyfcyx.is-programmer.com/posts/80378.html下面说乱搞的思路。由于都是凸多边形,那么任意一条垂直于x轴的直线在多边形内的区域一定是一条线段(或者什么都没

2015-02-26 09:59:23 1149

原创 UOJ #34 多项式乘法 FFT快速傅立叶变换

题目大意:这是一道模板题。CODE:#include #include #include #include #include #define MAX 1000010using namespace std;const double PI = acos(-1.0);struct Complex{ double x,y; Complex(double _,

2015-02-10 15:39:35 1627

原创 BZOJ 3503 CQOI 2014 和谐矩阵 高斯消元

题目大意:给出m和n,求出一种方案使得每一个点和周围的四个点的1的个数为偶数。思路:根据题意可以列出m*n个异或方程,然后组成异或方程组。解这个异或方程组然后输出任意一个解就可以了。PS:值得注意的是,全是0肯定是一个解,显然你不能输出这个解。所以你需要让一个或一些自由元的值为1,至于怎么做,随便yy就行了。PS2:这个题的样例吞掉了空格,然而又是SPJ,所以就是wa。。然后我

2015-02-09 18:50:09 787

原创 BZOJ 1009 HNOI 2008 GT考试 AC自动机+矩阵乘法

题目大意:给出一个不能出现的字符串,问长度为k的字符串有多少种。思路:用给定串建立一个AC自动机(或者KMP随便了),然后跑矩阵乘法就行了。CODE:#include #include #include #include #include using namespace std;int k,length,p;char s[MAX];int so

2015-02-09 08:04:45 1032 1

原创 BZOJ 1263 SCOI 2006 整数划分 高精度

题目大意:给出一个整数,问吧这个整数分成任意多个正整数只和的最大乘积是多少。思路:根据小学奥数的基本知识,我们要吧这个数字分成尽量多个3。然后这个题就解决了。CODE:#include #include #include #include using namespace std;struct BigInt{ int num[10010],len;

2015-02-07 12:45:21 785

原创 POJ 1830 开关问题 高斯消元

题目大意:给出灯的一些关系,求有多少种方法从始状态到终状态。思路:其实根据灯的这些关系就可以列出一系列方程,然后用高斯消元就可以求出自由元的数量,答案就是2^自由元的数量。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #define MAX 50usi

2015-02-05 16:31:38 895

原创 BZOJ 3566 SHOI 2014 概率充电器 概率DP

题目大意:给出一棵树,每个节点都有一个充电概率,每一条边有一个导电概率,求期望有多少个点充电。思路:写不出题解,粘一个详细的地址:http://wyfcyx.is-programmer.com/posts/74623.htmlCODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #

2015-02-05 15:40:20 1072

原创 BZOJ 2844 albus就是要第一个出场 高斯消元+线性基

题目大意:给出一个长度为n的正整数数列A。每次选出A的一个子集进行抑或(空集抑或值为0),这样就得到一个长度为2^n的数列B。将B中元素升序排序。给出一个数字m,求m的B中出现的最小位置。思路:线性基的性质:假设n个数可以消出k个线性基,那么显然会有2^k个不同的亦或和,n个数相互排列显然会有2^n个。神奇的事情就在于每种亦或和居然是一样多的,也就是都是2^(n - k)个。有了这个解

2015-02-05 09:16:21 1685

原创 BZOJ 2115 WC2011 Xor 线性基+贪心

题目大意:给出一个无向图,求出1~N的最长xor路径。思路:先求出一条任意的1~N的路径的xor和,之后算出所有的简单环中的异或和。注意到异或的一个很好的性质——x^y^x=y,也就是说对于每个简单环我们若是想走完这个环只需要把这个环的异或和异或到原路径上的异或和就行了。于是问题就转化成了一个数字和一些数字的最大异或和。求出那些环的异或和的线性基,然后利用贪心的思想逐位确定所有位置

2015-02-03 16:48:49 1010

原创 BZOJ 3105 CQOI 2013 新Nim游戏 && 2460 BeiJing 2011 元素 拟阵+线性基

题目大意(新nim游戏):定义一种新的nim游戏,每个人在一开始都有一次机会拿走任意堆的石子或者一个都不拿,问先手必胜时第一次最少取走多少。思路:正常的nim游戏只要有一个子集的异或和=0那么先手就是必败的。注意到只要过了两个回合之后这个游戏就变成了正常的nim游戏,如果在我们第一次取的时候,如果剩余的所有堆中存在一个子集的异或和=0,那么后手就会让他拿走之后剩下的石子的异或和为0,我

2015-02-03 15:24:17 1338

原创 BZOJ 2957 楼房重建 分块

题目大意:一个人站在(0,0)处,每次操作都会改变一栋楼的高度,问每次操作之后这个人会看到多少栋楼。思路:将所有楼分块,在每一块内暴力维护一个单调递增的序列,这样只要这个块中的一栋楼能被看到,那么这一块内能被看到的楼肯定是一段,这样方便统计。至于是哪一段,二分就可以了。CODE:#define _CRT_SECURE_NO_WARNINGS#includ

2015-02-01 10:32:06 787

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除