HDU
yuukilp
Full Of Curiosity
展开
-
HDU 5593 ZYB's Tree
题意: 给定一棵树,对每个点 ii,统计树上面与其距离不超过 kk 的点的个数,然后所有值求异或。1≤N≤5000001 \leq N \leq 500000,1≤K≤101 \leq K \leq 10思路: 暴力,开始想到了同样的思路,觉得暴力会挂的样子,没敢去写。。。 首先处理出 dp[i][j]dp[i][j] 表示 ii 节点子树中与 ii 的距离 ≤j\le j 的点原创 2015-12-12 23:25:45 · 395 阅读 · 0 评论 -
HDU 5608 function
题意: 已知:n2−3n+2=∑d|nf(d)n^2 -3n+2 = \sum_ {d|n} f(d) 计算:h(n)=∑i=1nf(i)mod109+7h(n) = \sum_{i=1}^n f(i) \; mod \; 10^9+7思路: 从给出的公式的性质入手。 ∑i=1n∑d|if(d)=∑i=1nf(i)⌊ni⌋=∑i=1nh(⌊ni⌋)\sum_{i=1}^n转载 2016-01-09 18:26:17 · 638 阅读 · 2 评论 -
HDU 5662 YJQQQAQ and the function
题意: YJQQQAQ has an array A of length n. He defines a function fl,r,k where l,r,k are positive integers that satisfies l≤r and r×k≤n, and the value of the function equals to p×q×⌊k√⌋ where p equals to原创 2016-04-10 10:21:16 · 447 阅读 · 0 评论 -
HDU 5661 Claris and XOR
题意: 给定两个区间,在两个区间任意选择两个数,求最大的异或值?思路: 贪心 从高位开始枚举,优先选择放置01或者10,每次判断这次的选择是否合法,然后就没了!代码:#include <iostream>#include <cstdio>#define PB push_back#define FT first#define SD second#define MP make原创 2016-04-10 10:04:18 · 672 阅读 · 2 评论 -
HDU 5638 Toposort
题意: 给定一个 DAG,准确地删除 kk 条边,求可以得到的最小的拓扑序! (1≤n≤100000,0≤k≤m≤200000)(1 \le n \le 100000, 0 \le k \le m \le 200000)解释: 数据结构 + 拓扑排序 不错的题 题目要求字典序最小,所以应该尽可能的把小的数放在前面,假设当前还剩余 kk 条边可以删除,那么我就需要去找所有入原创 2016-03-07 20:45:55 · 458 阅读 · 0 评论 -
HDU 5637 Transform
题意: 对一个数,给定两种操作: 1. 把这个数的某个二进制位翻转 2. 把这个数和给定的n个数中的某一个数进行异或 问把 xx 转化为 yy 最少需要多少步?(n≤15,x,y≤105n \le 15, x,y \le 10^5)解释: 注意到异或的一个性质,题目就转化为求怎样经过最少的步数转换得到 x ^ y,数只有 100000100000,所以预处理搜一波就行了!原创 2016-03-07 20:14:09 · 418 阅读 · 0 评论 -
HDU 5654 xiaoxin and his watermelon candy
题意: 给定一个数组,询问区间内有多少个满足要求的不同的三元组,三元组要求: j=i+1,k=j+1j = i + 1, k = j + 1 ,ai≤aj≤aka_i \leq a_j \leq a_k 思路: 很裸的主席树求区间内不同的数的个数,这类问题的方法就是,用数组 pre[i]pre[i] 表示前一个与 a[i]a[i] 相同的数的位置,以 prepre 数组为关键字,对于询问原创 2016-03-30 21:07:42 · 399 阅读 · 0 评论 -
HDU 5607 graph
题意: 给定一个有向图,询问从某个点出发,走 KK 步到达其它各点的概率,表示为 x/yx/y,要求 x∗y5+109mod(7+109)x * y^{5+ 10^9} mod (7 + 10^9). N≤50,M≤1000,Q≤20,u≤N,K≤109N\le 50, M\le 1000, Q\le 20 ,u\le N, K\le 10^9思路: 首先考虑一个一个经典的问题,就是原创 2016-01-03 11:05:45 · 646 阅读 · 3 评论 -
hdu 1423 Greatest Common Increasing Subsequence(最长公共递增子序列lcis)
求最长公共上升序列dp[j] 表示B串中以j结尾的最长公共递增子序列所以更新的时候当扫到A串的第i个数时,遍历B数组,找到小于A[i]且dp[j] 最大的数的位置x,判断当满足a[i]==b[j]时,则更新dp[j]=dp[x]+1。代码:#include#include#include#include#include#include#include#include原创 2015-05-07 21:15:54 · 435 阅读 · 0 评论 -
HDU 5093 Battle ships
HDU 5093 Battle ships题意: 给定一个地图,含字符 ‘*’ ‘#’ ‘o’,然后战舰只能放置在字符∗*上面,且一行或一列不能同时放置两个战舰,除非中间间隔有字符#,问最多能放置多少个战舰?思路: 1.就是一个二分图匹配,听说是陈题,但是觉得建图方式比较特别,所以mark一下,主要是理解一下建图的过程! 2.首先缩点一下,就是同一行或者同一列,如果中间没有字符#原创 2015-07-13 12:55:24 · 384 阅读 · 0 评论 -
HDU 4975
关键词: 最大流,多解性转化为判环。题意: 给一个N∗MN*M的矩阵,矩阵内每个数为0−90-9,已知矩阵每一行和每一列的值,判断是否有解?若有是否有多解?思路: 对于这一类矩阵的题,第一反应就是分别以行和列为点去建边,比较为难是想到用网络流来解决这个问题,一旦知道了是网络流的模型,对于这题来说建边什么的就很简单了! 跑一个最大流,注意N∗M≤1000N*M\leq1000,所以点的原创 2015-08-03 23:44:59 · 525 阅读 · 0 评论 -
HDU 5503 EarthCup
题意: 有NN(N≤50000N\leq 50000 )支球队,每两支球队之间都会有一场比赛,没场比赛胜利记1分否则记0分,给出这NN支球队的分数,问能否构造出每场比赛的结果,使得最后的分数成立?思路: 首先,一眼看上去的网络流做法就不说了,比较容易想到,但是问题是NN太大,所以必定是行不通的! 考虑一个二分图,X部为C2nC_n^2场比赛,而Y部,把每个球队所得分数aia_i拆原创 2015-10-10 23:18:34 · 797 阅读 · 0 评论 -
HDU - 4283 You Are the One(区间DP)
题意: 给定NNN个人,编号分别为1−N1−N1-N,按顺序进栈,随意选择出栈顺序,每个编号为iii的人在第kkk个出栈时,其花费为:v[i]∗(k−1)v[i]∗(k−1)v[i] * (k-1). 求所有可能的出栈顺序中,总花费的最小值?思路: 非常好的DP题目,一旦想到状态定义后,后面的东西就简单了。 一开始,由于这个跟卡特兰计数非常相关,我自己想的定义dp[i]...原创 2018-06-13 16:06:46 · 198 阅读 · 0 评论