自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nike0good |Oier&ACMer | 熟能生巧

有所作为是生活中的最高境界。

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

原创 BZOJ 1085([SCOI2005]骑士精神-A*)

在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士,且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 如果能在15步以内(包括15步)到达目标状态,则输出最小步数,否则输出-1。 用到了A*#include<bits/stdc++.h>

2016-03-31 13:05:33 476

原创 BZOJ 1086([SCOI2005]王室联邦-树的划分)

题意:国家有n个城市,编号为1..n。一些城市之间有道路相连,任意两个不同的城市之间有且仅有一条直接或间接的道路。为了防止管理太过分散,每个省至少要有B个城市,为了能有效的管理,每个省最多只有3B个城市。每个省必须有一个省会,这个省会可以位于省内,也可以在该省外。但是该省的任意一个城市到达省会所经过的道路上的城市(除了最后一个城市,即该省省会)都必须属于该省。求任意可行解。n,b<=1000dfs遍

2016-03-30 20:13:13 575

原创 BOZJ 4444([Scoi2015]国旗计划-区间问题)

在一个环上,给一些区间,区间互不包含, 对于每个区间,求其必取时的最少区间覆盖数。经典方法: 先把环拆成2倍长的线,然后贪心,贪完后建树。首先,对于任意两区间,“某区间必取时的最少区间覆盖数”最多差1, 因此如果事先知道一个“某区间必取时的最少区间覆盖数”L,答案为L-1,L,L+1中的一个 dfs这棵树,用栈记录当且遍历节点的第k个祖先。 时间O(n)#include <iostream

2016-03-30 19:22:16 764

原创 BZOJ 4401(块的计数-树的划分)

已知一棵树,请把它划分成k份,使得每个块中的点数都相同。求方案数。首先有2个结论 一棵树划分成k份的方案是唯一的(但可以不存在) 一棵树可以划分成k份,当且仅当有k个子节点的子树大小是n/k的倍数 #include<bits/stdc++.h> using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n

2016-03-28 20:07:26 818

原创 BZOJ 4400(tjoi2012 桥-最短路树)

给一幅n点m边的无向图,删一条边使从点1到点n的最短路最大,求最短路最大值,以及这种情况下可以删的边的数量。 数据保证玩家可以从岛屿1到达岛屿n。 1<=n<=100000,1<=m<=200000建最短路树,显然必须删除最短路树上1->n路径上的一条边考虑删了一条边后,至少要走一条不在最短路树上的边,假设它是a->b 那么最短路至少为S->a->b->t其中S->a为起点出发的最短路树上的路

2016-03-27 21:56:06 1616

原创 BZOJ 1012([JSOI2008]最大数maxnumber-单调队列)

题意:给一个数列,每次可以在后面加一个数,或者询问最后L个数中最大值,初始序列为空,强制在线,操作数<=200000单调队列#include<bits/stdc++.h> using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define Rep(i

2016-03-20 16:08:20 602

原创 CF 653D(Delivery Bears-网络流)

给一张n个点m条带权边的有向图,有x个人从起点出发到终点,每个人带的都带相同重量的货物, 规定一条边最多能经过其上权的重量的货物,问最多能带多重的货物? 2 ≤ n ≤ 50, 1 ≤ m ≤ 500, 1 ≤ x ≤ 100 000二分每个人带的货物 只要把每条边最多能经过几个人算出来,跑流,看最多能让几人通过考虑点数小,网络流可以乱搞#include<bits/stdc++.h> usin

2016-03-19 23:50:22 664

原创 CF 653E(Bear and Forgotten Tree 2-链表优化搜索)

给一张n个点的树(无重边自环),已知m条边不存在,已知节点1的度数,问这是否可能?直接把1节点拿掉求连通块,然后几行特判就行。#include<bits/stdc++.h> using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define Rep(

2016-03-19 22:32:17 620

原创 基本计数方法专题

UVA 11401 Triangle Counting UVA 11806 Cheerleaders LA 3516 Exploring Pyramids UVA 11361 Investigating Div-Sum Property LA 4123 Glenbow Museum UVA 10253 Series-Parallel Networks UVA 11038 How many 0s UV

2016-03-06 11:18:14 869

原创 CF 632F(Magic Matrix-MST)

题意:如果一个对称矩阵,对角线元素均为0,且aij = aji,aii = 0a_{ij} = a_{ji}, a_{ii} = 0 ,aij ≤ max(aik, ajk) a_{ij} ≤ max(a_{ik}, a_{jk} ) for all triples i, j, k.i, j, k.,则这个矩阵Magic,给一个n*n(n≤2500n \le 2500)矩阵问其是否Magic?考虑a

2016-03-05 10:36:28 721

原创 CF 632D(Longest Subsequence-计数排序)

题意:给n≤106n \le 10^6 个数,选尽量多的数,使它们的lcm不超过m≤106m \le 10^6,输出任意一种方案。考虑计数排序n个数,得到cnt[1..m]cnt[1..m] 然后对每个数,将它自己加到其倍数上O(m+m/2+m/3+…+m/m)=O(mlogm)O(m+m/2+m/3+\ldots +m/m)=O(m\log m)#include<bits/stdc++.h> u

2016-03-04 00:24:35 592

原创 CODEV 4248(NTT[Never Think about Transformation]-大数分解质数)

定义数列 fi ,这个数列的第 i 项,即 fi 表示不大于 i 且与 i 的互质的数的个数。例如 f1 = 1 , f3 = 2 , f6 = 2 , f18 = 6他还定义了一种奇特的数学关系:对于正整数 m, n,如果 2m -1 | 2n - 1,并且 m 能被至少一个大于 1 完全平方数整除,就称 m 是 n 的“可协调数”。现在对于给定的 n,他希望你求出 sum (fm) (m 是

2016-03-02 22:40:15 673

原创 BZOJ 4318(OSU!-立方的期望)

已知一个01数列,第i位为0的概率为aia_i,求这段01序列‘连续1’的立方和的期望dp 令f(x)表示前x个的立方和的期望 f(x+1)=(1−ai)fx+aiE(fx+(li−1+1)3−l3i−1)=fx+E(3l2+3l+1)aif(x+1)=(1-a_i)f_x+a_iE(f_x+(l_{i-1}+1)^3-l_{i-1}^3)=f_x+E(3l^2+3l+1)a_i#include

2016-03-02 21:51:40 701

原创 数值方法专题

数值方法 UVA 10341 LA 5009 Error Curves LA 3485 Bridge UVA 10668 Expanding Rods UVA 10385 Duathlon数值方法UVA 10341解方程:p∗e−x+rcos(x)+stan(x)+tx2+u=0,0≤x≤1p*e^{-x}+r \cos (x) + s \tan(x) +tx^2 + u =0,0 \le x \l

2016-03-01 07:54:48 589

空空如也

空空如也

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

TA关注的人

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