自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hnust_Derker的博客

Talk is cheap, show me the code.

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

原创 BZOJ2286 [Sdoi2011]消耗战 (虚树 + 树形DP)

思路:如果是一组询问,很明显可以树形dpdpdp,假设以uuu为根的子树要断开所有关键点的路径所需要的最小花费, 可以找到状态转移方程:             \ \ \ \ \ \ dp[u]=∑{min_cost(u,son),son是关键点min(min_cost(...

2018-03-30 17:14:51 251

原创 BZOJ 1040 [ZJOI2008]骑士(基环树dp)

思路:          \ \ \ \ \ 这是基环树的入门题,因为nnn个骑士每个骑士有一个讨厌的骑士, 那么讨厌的骑士之间连接一条边,很显然选出的骑士之间不能有边存在,如果这是一棵树的话可以树形dpdpdp:      &

2018-03-29 18:53:21 262

原创 AtCoder Regular Contest 093(E-Bichrome Spanning Tree)

题意:          \ \ \ \ \ 给出一个NNN个点MMM条边的无向图,现在要给一些边染黑色或者白色,现在从这些边中选出一些边生成若干棵生成树,要求这些生成树至少包含一条白色的边和一条黑色的边,而且这些生成树的最小值是XXX,问有多少种染色方法。思路:  ...

2018-03-27 18:47:28 586 1

原创 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 B-跳一跳,很简单的(字符串哈希)

思路:          \ \ \ \ \ 首先知道一个节点的值经过262626秒之后肯定是到回原来的值去了,那就可以建立262626棵树, 每棵树对应每个时间的状态,然后对每一棵树进行处理,因为比较从uuu到根节点和从vvv到根节点的字典序只需要从左往右找到第一个不同的位置进行比较就行了,可...

2018-03-26 19:22:53 216

原创 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 C-平分游戏

C - 平分游戏思路:先看怎么处理一个圈有nnn个人只给相邻的人硬币的解法,保证总数整除nnn是必然的,有个很明显的情况就是如果AAA给了BBB,那么BBB将不会再给AAA,这样无疑是多余的步骤,所以相邻的两个人ABABAB之间要么是AAA给BBB,要么是BBB给AAA,那么相邻的第i−1i−1i-1,iii,i+1i+1i+1三个人,不妨假设第iii个人给了第i−1i−1i-1个人xixix...

2018-03-25 10:56:51 508

原创 HDU5382 GCD?LCM!(数学公式推导)

题意:        \ \ \ \ 定义F(n)=∑i=1n∑j=1n[gcd(i,j)+lcm(i,j)⩾n]F(n)=∑i=1n∑j=1n[gcd(i,j)+lcm(i,j)⩾n]F(n) = \sum\limits_{i = 1}^{n}\sum\limits_{j = 1}^{n}[gcd(i,j)+lc...

2018-03-23 17:11:14 480

原创 HDU5401 Persistent Link/cut Tree(计数)

题意:        \ \ \ \ 初始状态有一棵111个节点标号为000的树,对于第iii次操作,将第aiaia_{i}棵树中的标号为cicic_{i}的节点和第bibib_{i}棵树中的标号为didid_{i}的节点连接一条长为lilil_{i}的边,定F(i)=∑i=0n−1∑j=i+1n−1d(vi,vj...

2018-03-23 11:12:00 265

原创 HDU5377 Root(扩展欧几里得 + 生成元)

/**题意:给出一个整数sum, 查询q,每个查询有一对(x, y), 问满足x ^ k = y(mod p) 的最小的K是多少,不存在的话输出-1,其中p是sum的质因子思路:有个baby-step-giant-step算法, 求高次同余方程A ^ x = B (mod p)最小的x, 因为p是素数, 那么有生成元g,使得g^a=A,g^b = B,生成元可以预处理, 那么得出a * x ...

2018-03-21 12:59:25 332

原创 HDU5398 GCD Tree(动态树)

/**题意:n个点,标号1~n,现在要生成一棵树,使树的总权值最大,相邻两个点若连了边,那么其权值就是两个节点的最大公约数思路:考虑前i个点已经生成最大生成树,第i+1个点加进去,如果i + 1是素数,那么和1连边,否则至少要和它的最大因子(不是i+1)连边,这是由贪心思想来的,k个点的所有数的最大公约数有,k/2, k/2-1, k/2-2....1,然后把k/2的倍数依次加边,所以i+...

2018-03-21 12:55:19 466

原创 AtCoder Regular Contest 092(部分)

C:2D Plane 2N Points题意:红点和蓝点之间满足一个偏序关系那么就可以配对,但是蓝点最多只能和一个红点配对,每个红点也最多只能和一个蓝点配对,问最多能陪多少对思路:可以配对的红点蓝点连一条边,二分图匹配一下就行了#include<bits/stdc++.h>typedef long long ll;const int maxn = 150;using namesp...

2018-03-20 18:10:42 264

原创 [Offer收割]编程练习赛51

A:灯光控制思路:对一条x+k * k1, y+k * k2分类讨论得出能照亮的灯有多少,如果(X, Y)发出的两条射线不在同一个方向,那么就是两条射线能照亮的灯数之和减去1,否则看同一条射线上重复照亮的多少灯,相加之后减去即可。#include<bits/stdc++.h>typedef long long ll;using namespace std;ll n, m;ll...

2018-03-19 20:50:25 356

原创 HDU5390 Tree(线段树 + Trie)

/**题意:一棵N个节点的有根树,一开始每个节点都有一个权值,有m个操作:1 x : 查询x到根节点的路径上,max{val[x] ^ val[v]},v是x到根节点上路径上的点0 x y: 将节点x的权值改为y,即val[x] = y思路:查询x到根节点的路径上的点的影响,可以转换为每次修改一个点给这个点的子树中每个点都影响,这样跑出dfs序列后,修改一个点的影响用线段树维护就行了,...

2018-03-16 13:51:12 495

原创 HDU5380 Travel with candy(单调队列 + 贪心)

/**题意: 有n+1个城市一直线上,现在从0号城市按顺序走到n号城市,从0号城市到i号城市没走一个单位距离需要消耗ai个糖果,每个城市都可以买/卖糖果,价格分别是buyi和selli,selli<buyi。身上最多只能带C个糖果,在起点0号城市身上没有糖果,问到达n号城市的最小花费。思路:考虑当前点, 每次将当前点的糖果补满,补满之前考虑之前剩余的糖果:1. 上一个点...

2018-03-15 10:29:30 268

原创 团体程序设计天梯赛 森森快递(线段树 + 贪心)

/**因为一个区间[l, r]的最大货运量就是min([l, r]), 对于两个区间[l, r], [L, R] 假设(r <= R)1. 两个区间完全不相交, 则最大货运量就是min([l, r]) + min([L, R]),谁先取谁后取都是一样2.[l, r]完全包含于[L, R],那么肯定选择[l, r]且取其最大货运量,因为min[l, r] >= min[L, R]...

2018-03-14 12:40:16 1115

原创 HDU 5381 The sum of gcd (莫队 + 二分 + 区间GCD特性)

/**题意:....思路: 固定一个端点(值为k),那么这个端点属于的所有区间的不同的gcd最多只有logk中,因为gcd 整除 k, 从大到小排序去重后后一个数至少除以2,所以不同的GCD最多只有logk个,那么找出这个端点往左和往右当GCD为g时能扩展到多远,这个二分即可,区间的gcd用ST表预处理出来,之后找出关系式后莫队算法就可以了*/#include<bits/s...

2018-03-14 10:32:48 233

原创 团体程序设计天梯赛 周游世界(最短路)

思路: 写了好多版本, 都是按照点的关系入队, 不知道怎么会错就是看该点是否是换乘点。。。。。后来按照边的关系入队之后就过了, dis[ci][si]:源点到si这个站点时,最后经过的一条路线是属于公司ci的,然后就是记录两个信息:经过的站点数还有换乘的次数, 按照最短路那样更新就好了。#include<bits/stdc++.h>const int maxn = 1e2 + 5;...

2018-03-13 23:09:12 435

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

题意:求最小的x使得满足 a ^ x  % p = b % p, p是素数思路:学习学习 Baby-Step-Gaint-Step 算法, 用map存还超时了, 还是用的散列表。#include<cstdio>#include<cstring>#include<cmath>#include<map>#include<iostream&g...

2018-03-10 11:19:42 230

原创 HDU 5378 Leader in Tree Land (dp + 概率)

题意:n个点的有根树, n个人(标号)每个人分配在其中的一个节点上, 如果x是一个领导者,那么x是在其所在的子树中所有标号中的最大值,显然x可以是多棵子树的领导者,现在问你有多少种分配方法,使得这棵树中恰好有k个领导者思路:dp[i][j] : 前i棵树(根节点是1, 2, ...i的子树)中有j个领导者的概率,那么有:dp[i][j] = dp[i - 1][j - 1] * (1 / size...

2018-03-05 18:47:02 217

原创 HDU 5327 Segment Game(树状数组)

题意: 每次插入一个线段,第i个插入操作线段长度为i,或删除一个已存在的线段,每次插入后输出当前插入的线段能完整覆盖存在的几条线段。思路: 因为每次的插入操作是递增的,假设第i次的插入线段为[L, R],那么已知的线段左端点l >= L的个数,一定是所有l >= L,r >= L的线段数量,计算r > R的数量之后,这些线段一定是与l >= L的端点形成的, 因为插入...

2018-03-04 19:41:33 246

原创 BZOJ 2001 City城市建设 (CDQ分治 + 并查集)

/**思路: 参照 http://blog.sina.com.cn/s/blog_6e63f59e0101blum.html主要想法就是solve(l, r)的时候, 把区间[l, r]修改的边先置为正无穷,找出一定不要的边,之后恢复状态置为负无穷,找出一定要的边,然后递归解决solve(l, mid), solve(mid + 1, r)*/#include<bits/stdc+...

2018-03-03 20:41:24 308

空空如也

空空如也

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

TA关注的人

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