自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

九野的博客

新窝:cygmasot.com

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 ZOJ Monthly, August 2012 题解

A:题目链接:点击打开链接Alice's present#include #include #include #include #include #include #include #include using namespace std;int n, m;int a[501000];map mp;int main() { while (scanf("%

2015-02-27 15:29:48 1108

原创 HDU 4085 Peach Blossom Spring 记忆化搜索枚举子集 斯坦纳树

题目链接:点击打开链接题意:第一行输入n个点 m条可修建的无向边 k个人下面给出修建的边和修建该边的花费。开始时k个人在1-k的每个点上(一个点各一人)目标:从m条给定边中修建部分边使得花费和最小让k个人移动到 [n-k+1, n] 后面的k个点上(每个点放一个人)。思路:首先就是一道斯坦纳树,还是先求一个dp数组(求解方法:点击打开链接)dp[i][j] 表示

2015-02-13 16:34:53 1100

原创 POJ 3123 Ticket to Ride 状压dp+树形dp 斯坦纳树

题目链接:点击打开链接题意:给定n个城市和m条可选择修建的道路下面n行给出每个城市的名字下面m行给出每条道路及修建该道路的花费。下面4行,每行给出一对城市。目标:使得最后4行的每对城市连通(不同对之间可以不连通)所需要修建的最小花费。数据保证存在可行解思路:首先如果这个问题问的是所有城市都连通,就是一个最小生成树的问题。这里就相当于多个最小生成树的 问题。

2015-02-12 15:45:12 2228

原创 Codeforces 513F1 513F2 Scaygerboss 网络流

题目链接:点击打开链接题意:给定n*m的地图 a个男人 b个女人下面n*m的方格图.表示空地 *表示障碍。下面第一行给出中性人的坐标和移动时间下面a行给出每个男人的坐标和移动时间下面b行给出女人的坐标和移动时间。移动时间是指人移动到相邻矩阵的时间(人是不能走到障碍物上的)每个空地上恰好有一间房子(一间房子只能住一对夫妇,住了人的空地别人还是可以走过的)。目标:使

2015-02-09 15:06:24 1399

原创 Codeforces 513G1 513G2 Inversions problem 概率dp

题目链接:点击打开链接题意:给定n ,k下面n个数表示有一个n的排列,每次操作等概率翻转一个区间,操作k次。问:k次操作后逆序数对个数的期望。思路:dp[i][j]表示 a[i] 在a[j] j前面的概率初始就是 dp[i][j]  = 1( i 则对于翻转区间 [i, j], 出现的概率 P = 1 / ( n * (n+1) /2)并且会导致 [i,

2015-02-08 20:53:08 1699

原创 Codeforces 513C Second price auction 概率dp 求期望

题目链接:点击打开链接题意:有n个人去竞拍一件商品,下面给出n个区间表示每个人出的价是区间中随机的一个数(概率均等)则第一名需要付的钱是第二名的竞拍价格(允许并列第一名)求支付的钱的期望。思路:枚举付的钱,然后求付这个钱的概率,相乘后求和即可。对于确定支付x元 分类讨论一下:1、第一名出价大于x枚举第一名,然后剩下来的人至少一个人出x元,其他人出P(剩下

2015-02-08 19:26:32 1623

原创 CodeForces 191C Fools and Roads 树上的前缀和 LCA

题目链接:点击打开链接题意:给定n个点的树。下面m个操作,每次给一条路径上的边都染一次。最后问:每个边被染色的次数。和去年网赛的一道差不多,就是类似前缀和的做法,我们在某个点+1然后从叶子节点到根节点求一个前缀和,这样某个点加1就相当于某个点到根的路径都加了1.所以当我们给[u,v]染色时就 sum[u]++; sum[v]++; sum[LCA(u,v)]-=2;

2015-02-07 21:05:12 1657

原创 CodeForces 59E Shortest Path 用边跑最短路

题目链接:点击打开链接题意:给定n个点m条边的无向图,d个限制条件。下面m行给出边下面d行给出限制条件。找出一条 1->n的路径。每个限制条件3个数 a b c 表示这3个点不能连续走,即路径上不能存在 ···abc···或者···cba···输出这样的最短路径长度以及具体路径。思路:因为是3个点不能连续走,所以我们用边来跑最短路即可,这样就变成2条边不能连续走

2015-02-07 20:58:29 1673

原创 CodeForces 417D Cunning Gena 状压dp

题目链接:点击打开链接题意:主角请他的n个朋友帮他做m道题,常数b下面每两行代表一个朋友:请这个朋友的花费 请这个朋友的前提是要拥有k台电脑 这个朋友能解的题目数量下面是这个朋友能解的具体题目号。买一台电脑花费是b,开始主角手里没有电脑。思路:先按k值小到大排序问题数import java.io.PrintWriter;import java.text

2015-02-07 20:45:58 1114

原创 CodeForces 158E Phone Talks 树形dp+计数

题目链接:点击打开链接题意:给定n个点的树,常数d给出每个点的权值,问有多少种划分方法使得划分后每个连通块里的最大权值-最小权值思路:点击打开链接枚举每个点i 使得i是集合中的最小值。则枚举时已经使得i是最小值,然后这个问题就变成单纯的划分问题了,上面链接里的题解已经很详尽了import java.io.PrintWriter;import java.text.Decim

2015-02-07 20:30:13 1114

原创 ZOJ Monthly,Feburary 2012 部分题解

题目链接:点击打开链接ZOJ 3573 Under Attack距离做这套题到写题解间隔比较久,题意有些忘了。。#include #include #include #include #include #include #include #include #include #include using namespace std;typedef long lon

2015-02-07 19:11:28 1175

原创 Codeforces 486D Valid Sets 树形dp+计数

题目链接:点击打开链接题意:给定常数d 和 n,表示n个点的树,每个点有点权问:有多少个点集使得点集中的点两两可达且最大点权-最小点权思路:对于每个点,计算包含这个点且这个点作为点集中的最小点权时的个数,枚举每个点。import java.io.PrintWriter;import java.text.DecimalFormat;import java.util.Array

2015-02-04 18:36:44 1186

原创 Codeforces 512B Fox And Jumping dp+gcd

题目链接:点击打开链接题意:给定n个数下面2行是n个数字和购买该数字的花费。使得购买的数字能通过加减获得任意一个正整数。问最小的花费是多少。(购买得到的数字可以多次使用)思路:首先是要获得任意的正整数,其实就是获得1就可以了。而获得1的话 只需要我们选的数的gcd = 1即可。设 有整数x,y,要使得x y能构造任意一个整数,充要条件就是gcd(x, y)=

2015-02-03 18:34:54 1696

原创 Codeforces 512C Fox And Dinner 奇偶建图 网络流

题目链接:点击打开链接题意:给定n个人和其权值。让人坐到任意多张圆形的桌子上使得任意两个相邻的人权值和为素数,且一张桌子至少3个人输出桌子数和每张桌子坐的人(输出任意一个具体方案)思路: 首先人的权值都是>=2的,也是就说组合成的素数一定是奇数奇数 = 奇数+偶数。所以桌子上的人一定是奇偶交错的,而且一张桌子人数是偶数个(即n必须为偶数,一半是奇数,一半是偶数)由上

2015-02-03 18:22:27 1772

原创 UVALive 4015 Caves 树形背包

题目链接:点击打开链接题意:给定n个点的有根树(0为根),下面给出边和边权一个整数q表示q个询问每个询问一个数字x ,表示有一个人从根开始走,行走距离不超过x且使得走过不相同的点最多。问最多能走多少个点。思路:dp[i][j][0]表示以i为根的子树,以i为起点走了j个不同点且回到i的最小花费。dp[i][j][1]表示不需要回到i的最小花费。转移的时候就是

2015-02-02 18:04:44 1184

原创 Codeforces 509F Progress Monitoring 给定dfs序求树的同构数 区间dp

题目链接:点击打开链接==说同构数有点不对。。反正就是这个意思,对于某个点的所有儿子,先访问标号小的,再访问标号大的。dp[l][r]表示 区间[l,r] 构成一棵树的方法数。对于一个区间[l, r] 构成一棵树,则点l一定是根,然后枚举2个区间相乘即可dp[l][r] = dp[l+1][i] * dp[i+1][r] ( i = [l+1, r] )当然

2015-02-01 14:38:59 1469

原创 Tutorial CodeForces Round 289 (Div.2) (Second Winter Computer Camp Selection 2015) 题解

题目链接:点击打开链接A:#include #include #include #include #include #include #include #include #include #include using namespace std;int a[12][11];int main() { for (int i = 0; i <= 10; ++i)

2015-02-01 14:35:57 1039

九野的模版3.15.10.pdf

http://blog.csdn.net/acmmmm

2015-12-19

空空如也

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

TA关注的人

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