自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 hdu 5480 Conturbatio 线段树

题意:给一个n*m的象棋,给一些车的坐标,每个车可以攻击当前行或者当前列,给出一些子矩阵询问,问这个子矩阵中的每个格子是否都能被攻击到。线段树维护下行和列就行了,对于询问的子矩阵,其对应的行都有车或者对应的列都有车就是Yes的,否则为No。 代码://author: CHC//First Edit Time: 2015-09-26 22:02#include <iostream>#incl

2015-09-26 22:18:42 647

原创 UVALive 3351 Easy and Not Easy Sudoku Puzzles 位运算~判断简单数独

题意:给定一个9*9的数独,要求判断是否为简单数独。 数独:对于每一行每一列或者子方格内,只能填1~9这几个数,并且每个数字只能出现一次,比如说: 如果一个9*9的数独是简单数独的话,这个数独的解是独一无二的 也就是说,每次可以推导出一个点,这个点的值是确定的,直到数独被填满。 对于下图,x只能填2 对于下图,x只能填1 判断数独是否是简单数独。如果是输出1,不是输出0.这道

2015-09-25 23:34:27 942

原创 UVALive 3353 Optimal Bus Route Design 求图中不相交的哈密顿路的最小和

题意:给定一有边权的单向图,然后要求从这个图中选择一些不相交的哈密顿路,并且所有的点都必须选择。 哈密顿路:除了起点以外,所有的点都只经过一次。。。。如果一个点属于一条哈密顿路,那么它一定有且仅有一条出边,一条入边,但是对于每个点来说有很多条出边很多条入边,我们只需要匹配每一个点的出边和入边,就转换成了最小费用二分图匹配 建图:把每个点uu拆开为uu和u′u' 若存在边e(u,v)e(u,v)

2015-09-24 13:15:59 670

原创 UVALIVE 3346 Perfect Domination on Trees 树形DP

题意:给一颗树,从树上找一个点集D,任意从树上选择一点,要么这个点属于点集D,要么这个点的邻居有且仅有一个点属于点集D。看错题了。以为是最小支配集。因为看少一个条件:不在点集D中的点的邻居有且仅有一个点属于D。 设dp[i][j]dp[i][j]为点i在j状态时所要的染色最少点数。 dp[i][0]dp[i][0]为将点i染为黑色 dp[i][1]dp[i][1]为将点i染为白色,儿子为白色

2015-09-23 21:31:47 584

原创 HDU 5458 Stability 树链剖分

题意:给n个点m条边的无向图,图中可能包含自环和重边,现在有两种操作: 1.删掉一条(a,b)边 2.询问a->b上有多少条关键边,关键边意思为:删掉该边,使得a不能到达b。 所有删除操作都保证图是连通的。把删除操作倒着加边来搞。 先随便建一颗树,边权为1,若加边(a,b),那么a到b的路径上的边权都赋值为0 询问a b则为a->b的边权和。用树链来搞。//author: CHC//Fi

2015-09-22 15:46:01 723

原创 5451 Best Solver 构造共轭复根求递推矩阵&广义斐波那契循环节降幂

推矩阵资料:http://blog.csdn.net/crazy______/article/details/9021169 广义斐波那契循环节:http://blog.csdn.net/acdreamers/article/details/25616461。。真是。。神。。 可以根据式子推出矩阵 f(n+1)=10*f(n)-f(n-1) 注意f(1)=10 f(2)=2 //auth

2015-09-21 11:46:34 720

原创 hdu 5452 Minimum Cut 求最小割边集的大小

题意:给定图G的一颗生成树,然后求最小割边集的大小,要求割边集中要有且仅有一条生成树边考虑给定的生成树,求出要把某个子树和其父节点分开的最少割边数,然后枚举除了rootroot以外的最小值+1就是答案了。 转换为求将每个子树要分开的最小割边。就是求这颗子树连接到子树外的边的数量。 如果一条边e(u,v)e(u,v)不是树边,那么对于uu和vv来说它连接到非它本身子树的另外子树的贡献是1,如果要将

2015-09-19 20:46:24 940

原创 封装malloc编写一个malloc16使得返回地址%16==0

问题:封装malloc写一个void *malloc16(int _size);使得其的地址刚好是16对其的,也就是说其返回的地址%16==0。然后封装free写一个void free16(void *p);把malloc16分配的空间给回收。。 malloc和free是这么用的。char *pc=(char*)malloc(1024);free(pc);这里我想了好一会儿。 第一个想法:分配

2015-09-17 23:10:45 1472

转载 C++如何返回函数指针

typedef int (*ft)(int) ;int f(int a){ return a+5;}int (*g(int a,int b))(int){ printf("g():%d\n",a+b); return f;}ft h(int a,int b){ printf("h():%d\n",a+b); return f;}int main(

2015-09-15 13:24:15 790

原创 hdu 5442 Favorite Donut 最小表示法+KMP

题意:给一个字符串连成环,然后有两种选择的方式,正序和逆序,要求最大字典序,并且输出选择的方向。0为正向 1为反向。如果有相同的输出最小坐标,如果还有相同的输出正向。把给定的字符串增加一倍,然后再这个字符串中求长度为n的最大字典序。 这个用最大表示法可以求得最小的起始坐标。 然后再把这个字符串反序,再用最大表示法求反序串的最小起始坐标,但是。这个起始坐标在原串中是最大的起始坐标,因此用kmp可以

2015-09-15 12:38:19 559

原创 奇怪问题----你在飞机上,不能用任何电子设备,求高度

A:你在飞机上,不能用任何电子设备,求高度。 CHC:问机长啊。。 A:这个也算一个方法吧。还有什么其他方法吗? CHC:光线反射,计算时间,计算一个时间,直接通过公式求。 A:唔~~~也算一个解吧。其实我那个说法就是胡扯,感觉这个逼装的不是很成功。。。 然后回来之后问欧酱 以下为聊天记录: 做法就是假设可以直接从飞机上垂直看下。用那个方

2015-09-14 20:58:26 916

原创 HUST 1342 Cheat Secretly 有源汇上下界网络流 最小流

HUST 1342 Cheat Secretly 有源汇上下界网络流 最小流题意:有N个点M条边的单向无环图,先要求必须走某些边,走到没有出边的点可以转移到任意一个点,问最少转移的次数。最小流建图 入度为0的连st 流量为oooo 出度为0的连et 流量为oooo 若某边必须走,那么这条边的下界为1,上界为oooo 若某边不走,那么这条边的下界为0,上界为oooo 求最小流//autho

2015-09-10 19:26:40 489

原创 SGU 176 Flow construction 有源汇上下界网络流 最小流

SGU 176 Flow construction 有源汇上下界网络流 最小流题意:有n个节点m根水管的网络,每根水管有个水流的限制,问最少要多少水流能满足整个网络。最小流 代码://author: CHC//First Edit Time: 2015-09-10 10:45#include <iostream>#include <cstdio>#include <cstring>

2015-09-10 19:22:03 755

原创 HDU 3157 Crazy Circuits 有源汇上下界网络流 最小流

HDU 3157 Crazy Circuits 无源汇上下界网络流 最小流题意:有N个电子元件,每个电子元件需要一个最少的电能驱动,问最少需要多少电能能把所有元件驱动。最小流做法 代码://author: CHC//First Edit Time: 2015-09-10 01:48#include <iostream>#include <cstdio>#include <cstrin

2015-09-10 19:18:37 496

原创 POJ 2594 Treasure Exploration 有源汇上下界网络流 最小流

POJ 2594 Treasure Exploration 有源汇上下界网络流 最小流题意:有一个n点m边的单向无环图,每个士兵可以从某一点沿着某方向出发,并不能返回,问最少要多少个士兵可以遍历全图。这道题可以当做最小路径覆盖来做。当然也可以当上下界最小流来做。最小路径覆盖的做法就不说了,百度搜一大把。 上下界最小流建图方式: 把每一个点ii拆开为两个点ii和i′i' 对于每个点建边ii-

2015-09-10 19:13:34 528

原创 ZOJ 1994 Budget 有源汇上下界网络流 可行流

ZOJ 1994 Budget 有源汇上下界网络流 可行流题意:有一个n行m列的矩阵,每个点上都有一个非负整数,现在给出一些约束条件,约束条件的格式 x y op v ,op可能为>,<,=,对于每一个约束,如果x!=0x!=0&&y!=0y!=0有(x,y)(x,y) opop vv ,比如2 4 > 2 就是说(2,4)(2,4)这个点的值要大于2。如果xx为00,则表示为y列的值都共享这个

2015-09-10 18:43:28 772

原创 ZOJ 3229 Shoot the Bullet 有源汇上下界网络流 最大流

ZOJ 3229 Shoot the Bullet 有源汇上下界网络流题意:屌丝要在n天内给m个女神拍照,对于第ii个女神,这n天拍照的总数量不得小于G[i]G[i],屌丝第jj天要给cjc_j个女神拍照,并且第jj天有一个拍照上限DjD_j,而且这cjc_j个女神中的第kk个女神在今天的照片数量必须要在LjkL_{jk}和RjkR_{jk}之间。问屌丝满足这些条件并且能拍的最大数量的照片,如果

2015-09-10 17:10:00 585

原创 ZOJ 2314 Reactor Cooling 无源汇上下界网络流 可行流

zoj 2314 Reactor Cooling 无源汇上下界网络流题意:有n个点m条边的单向无环图。每条边有一个水流的上界和下界,水流要大于等于下界小于等于上界,问能否满足这些边的约束条件,如果能输出Yes,并输出每条边的水流,否则输出No令du[i]du[i]为节点ii的流入下界之和-流出下界之和 然后若e(u,v,down,up)e(u,v,down,up)属于原图,那么新的图中的边为e(u

2015-09-10 16:56:43 501

原创 Codeforces Round #318 (Div. 2) E - Bear and Drawing

题意:有一颗n个点的树,然后有两行列数无限的点,问这颗树能否画出。能画出输出Yes,否则输出No在纸上画一画可以知道,首先对于一个点,它衍生出来的最左边的那个点和最右边的那个点可以衍生出>2个点,这个点除了左边和右边以外的那两个点,只能衍生出2个点,然而这些点又只能衍生出一个点。所以对于每个连接数>2的点来说,它最多只能有2个点连接数>=3//author: CHC//First Edit Tim

2015-09-09 23:36:17 553

原创 Codeforces Round #318 (Div. 2) D - Bear and Blocks

题意:有n列方块,每列方块的高度为aia_i,现在有一个操作:每次操作时把外围的方块消去(内部方块的定义:内部方块的四个方向上下左右都有方块或地板,这些方块为内部方块,其他方块为外部方块),问需要多少次操作可以将所有方块消去先考虑普遍情况 3 1 2 1 这种情况只需要2个步骤 5 1 2 3 2 1 这种情况只需要3个步骤 7 1 2 3 4 3 2 1 这种情况只需要4个步骤

2015-09-09 23:04:20 495

原创 Codeforces Round #318 (Div. 2) C - Bear and Poker

题意:有n个数,对于每个数有两个操作 1.把这个数乘以2 2.把这个数乘以3 操作可以重复无限次 现在问只执行这两个操作能否将所有数都变换为同一个数如果能把这些数都变换为同一个数,那么说明这些数中的质因子除了2和3以外都相同且质因子个数都相等。因此,把所有数的关于2和3的质因子都剔除,如果所有数都相等的话那么可以变换。//author: CHC//First Edit Time: 201

2015-09-09 22:55:56 539

原创 Codeforces Round #318 (Div. 2) B. Bear and Three Musketeers 位运算压缩

题意:有n个人,m组关系。现在想要从这n个人中选3个人。这3个人必须满足的条件:1)这3个人必须相互认识 2)这3个人的识别度的总和最小(一个人的识别度为:除了另外两人认识的人的数,三个人的识别度相加最小) 如果存在,则输出识别度总和最小的那个值,如果不存在,则输出-1位运算压缩,将一个点能直接相连的其他点都压缩,然后直接枚举点,然后通过点枚举边,判断共同点就可。 复杂度O(nm)O(nm)//

2015-09-09 22:50:49 494

原创 Codeforces Round #318 (Div. 2) A - Bear and Elections 模拟暴力枚举

题意:有n个人参加选举,每个人的得票分别为aia_i,一个人赢的意思是这个人的票大于其他所有人的票。现在1想要赢得选举,他有一个操作就是将其他人的选票贿赂过来,现在问最少需要贿赂多少个人。因为数据比较小。直接模拟//author: CHC//First Edit Time: 2015-09-01 10:49#include <iostream>#include <cstdio>#inclu

2015-09-09 22:45:05 509

原创 hdu 5430 Reflect 求圆镜内反射N次回到出口的方法数 欧拉函数

题意:从镜面材质的圆上一点发出一道光线反射NN次后首次回到起点。 问本质不同的发射的方案数。题解: 为什么要k和(N+1)是最简分数呢。因为要求的是不重复的路径,也就是求的是到了出口后射出去,而不是又反射回来。30+360和30的结果是一样的,但不能算一种。。//author: CHC//First Edit Time: 2015-09-05 19:38#include <iostre

2015-09-05 23:03:36 788

原创 hdu 5428 The Factor 求一个数列的乘积的最小因子的因子数大于2 筛素数

题意:给一个长度为n的数列,求数列之积的某个最小的因子,这个因子的因子数的个数大于2。其实就是求出数列中的最小两个质因数的乘积。= =比赛的时候用的是另一种方法居然被hack了。。我擦。。。。//author: CHC//First Edit Time: 2015-09-05 21:23#include <iostream>#include <cstdio>#include <cstr

2015-09-05 22:57:40 759

原创 hdu 5427 A problem of sorting 排序

题意:给出一张许多人的年龄和生日表。你需要从年轻到年老输出人们的名字。(没有人年龄相同) 排序//author: CHC//First Edit Time: 2015-09-05 19:00#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <set>#include <v

2015-09-05 22:52:42 561

原创 hdu 5256 序列变换 求最少改变次数使序列变为递增 最长不下降子序列

题意:我们有一个数列A1,A2…An,你现在要求修改数量最少的元素,使得这个数列严格递增。其中无论是修改前还是修改后,每个元素都必须是整数。 请输出最少需要修改多少个元素。对于任意两个数A[i]A[i],A[j]A[j](i>ji>j) 如果满足A[i]−A[j]≥i−jA[i]-A[j] \geq i-j可以使得[i,j][i,j]区间内的数都是可修改为递增的,可以将上面那个式子转换为A[i]−

2015-09-05 15:10:25 4315

原创 HDU 5412 CRB and Queries 求区间第k小 CDQ分治+整体二分

恩。。CDQ分治是个神奇的东西。。其思想基于分治。。可以实现大部分离线的带修改的询问 资料:http://www.cnblogs.com/zig-zag/archive/2013/04/18/3027707.html//author: CHC//First Edit Time: 2015-09-04 13:18#include <iostream>#include <cstdio>#

2015-09-04 16:05:45 1196

空空如也

空空如也

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

TA关注的人

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