bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6312 输出前几项,都是"Yes" #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) { cout<<"Yes"<<endl; } //cout << "Hello world!&…
2018 Multi-University Training Contest 2) HDU 6311 Cover HDU 6312 Game HDU 6313 Hack It HDU 6314 Matrix HDU 6315 Naive Operations HDU 6318 Swaps and Inversions…
H - H HDU - 2066 (多源点.多汇点问题) 一个图上,有M条边,Z个出发点,Y个终止点.求一条最短路,其中起点是Z中的任意一点,终点是Y中任意一点. Input 输入数据有多组,输入直到文件结束. 每组的第一行是三个整数M,Z,Y 接着有M行,每行有三个整数a,b,w,表示a,b之间存在一条长度为w的边 (1=<(a,b)<=1000,w原题干未给范围c++ int够用),可能存在重边,边为双向边. 接着的第M+1行有Z个数,表示起点标号 接着的第M+2行有Y个数,表示终点标号…
  Time Limit: 5000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Description Give you a sequence of N(N \leq 100, 000) integers : a_{1},...,a_{n}(0 < a_{i} \leq 1000, 000, 000). There are Q (Q \leq 100, 000) queries. For each query l,…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4897 Problem Description There is an old country and the king fell in love with a devil. The devil always asks the king to do some crazy things. Although the king used to be wise and beloved by his peopl…
题意:构造出n个数 这n个数取值范围0-L,这n个数中存在取一些数之和等于k,则这样称为一种方法.给定n,k,L,求方案数. 思路:装压 每位 第1为表示这种方案能不能构成1(1表示能0表示不能)  第2为表示能不能构成2 ...  这样用d[1<<n] 的DP  像背包那样背 n次就可以 最后状态中第k位为1的就可以加上方法数. #include<cstring> #include<cstdio> #include<cmath> #include <…
/* HDU 6071 - Lazy Running [ 建模,最短路 ] | 2017 Multi-University Training Contest 4 题意: 四个点的环,给定相邻两点距离,问从2号点出发,2号点结束,距离大于k的最短距离 d(i,j) < 30000, k <= 1e18 分析: 设 r = min(d(1,2), d(2,3)) 假设距离 k 可达,则 k+2*r 也可达(来回走的形式) 故求出所有 d[i][j] 满足 d[i][j]%2r == j 的最短距离…
比赛时会错题意+不知道怎么线段树维护分数- - 思路来自题解 /* HDU 6070 - Dirt Ratio [ 二分,线段树 ] | 2017 Multi-University Training Contest 4 题意: 给出 a[N]; 设 size(l,r)为区间(l,r)不同数字的个数,求 size(l,r)/(r-l+1) 的最小值 限制: N <= 6e5, a[i] <= 6e5 分析: 二分答案 mid 则判定条件为是否存在 size(l,r)/(r-l+1) <=…
建模简析: /* HDU 6039 - Gear Up [ 建模,线段树,图论 ] | 2017 Multi-University Training Contest 1 题意: 给你n个齿轮,有些齿轮是同轴的(角速度相同),有些是同边的(线速度相同),任意两个齿轮两种关系中至多只有一种,且任意两个齿轮之间只有一条路径 给出所有齿轮的半径和 m组两两之间的关系 两种操作:1. 把改变某个齿轮的半径; 2. 赋予某个齿轮一个角速度,问所有齿轮中最大的角速度是多少 分析: 相邻齿轮连边建图,原图是森林…
Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description Alice and Bob are playing together. Alice is crazy about art and she has visited many museums around the world. She has…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4930 Fighting the Landlords Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 312    Accepted Submission(s): 100 Problem Description Fighting the…
/* HDU 6143 - Killer Names [ DP ] | 2017 Multi-University Training Contest 8 题意: m个字母组成两个长为n的序列,两序列中不能包含同一个字母,问对数 分析: 问题归结于: 包含i(1<=i<=m)个字母的长为n的序列的个数 则答案为 ans = sum of dp[n][i] * pow(m-i, n); 易得 dp[a][b] = b*dp[a-1][b] + C[m-b+1][1] * dp[a-1][b-1]…
看标程的代码这么短,看我的.... 难道是静态LCA模板太长了? /* HDU 6074 - Phone Call [ LCA,并查集 ] | 2017 Multi-University Training Contest 4 题意: 给一棵树,定义集合S(u,v)为u到v路径上所有的点 给出 m 个 <S(u1,v1)|S(u2,v2) , w > ,意思为集合里面的点互相距离为 w 求 1 能到的所有点和该生成树的最小权值 分析: 将所有线路按代价从小到大排序,对于每条线路(a,b,c,d)…
/* HDU 6068 - Classic Quotation [ KMP,DP ] | 2017 Multi-University Training Contest 4 题意: 给出两个字符串 S[N], T[M], k个询问 每个询问给出 L,R 对所有 1<=i<=L , r<=j<=N , S串拿掉[i+1,j-1]的子串后,剩下两个子串拼在一起的子串中 T 串的数目求和 限制 N,k <= 5e4, M <= 100 分析: pre[i] 代表 前缀i匹配的T…
/* HDU 6076 - Security Check [ DP,二分 ] | 2017 Multi-University Training Contest 4 题意: 给出两个检票序列 A[N], B[N] 规定 abs(A[i]-B[j]) <= k 的i,j不能同时检票 求最少的检票时间 限制 N<= 6e4, k <= 10 分析: f(i,j) 为检票至i,j的时间 则 f(i,j) = f(i-1,j-1) + 1 , abs(A[i]-B[j]) > k = min…
/* HDU 6078 - Wavel Sequence [ DP ] | 2017 Multi-University Training Contest 4 题意: 给定 a[N], b[M] 要求满足 a[f(1)]<a[f(2)]>a[f(3)]<a[f(4)]>a[f(5)]<a[f(6)]... b[g(i)] == a[f(i)] f(i) < f(i+1), g(i) < g(i+1) 的子序列 的数目 分析: dp[i][j][0] 表示 以a[i]…
/* HDU 6036 - Division Game [ 组合数学,NTT ] | 2017 Multi-University Training Contest 1 题意: k堆石子围成一个圈,数量均为n,编号为0至k-1 第i轮可以操作第 (i+1) mod k 堆石子,必须拿石子且原石子数量要求整除操作后石子数量 任意一堆石子只剩一颗后停止游戏,问游戏停止在第i堆的方案数 限制: n很大,按唯一分解定理形式给出 n = p1^e1 * p2^e2 * ... * pm^em m,k <=…
研究一下建树 : /* HDU 6044 - Limited Permutation [ 读入优化,笛卡尔树 ] | 2017 Multi-University Training Contest 1 题意: 给出两组序列 l[i], r[i], 代表以 p[i] 为最小值所在的区间的边界 问 满足这些条件的序列 p 的个数 分析: 必定能找到一个p[i] 使得 l[i] == 1, r[i] == n ,其将数组分成两块[1, i-1], [i+1, n] 以之为根节点,将区间为[1, i-1]…
Hiking Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 97    Accepted Submission(s): 56 Special Judge Problem Description There are n soda conveniently labeled by 1,2,-,n. beta, their best fr…
思路:先枚举  a*bas +b = n  求出 bas 在sqrt(n)到n的  (bas>a&&bas>b) 再枚举  a*bas*bas+b*bas+c =n  求出bas 在 n^(1/3) 到sqrt(n)的 (bas >a&&bas>b&&bas>c) 上面 a b c  均只有  3 4 5 6  四种取值. 剩下的  直接   n^(1/3) 枚举   效率为  n的三分之一 次方. //============…
Catch the Theves Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65768/32768 K (Java/Others)Total Submission(s): 1640    Accepted Submission(s): 514 Problem Description A group of thieves is approaching a museum in the country of zjsxzy,now t…
Play on Words HDU - 1116 Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle is very important for us. There is a…
#include <stdio.h> #include <iostream> #include <cstdlib> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <stack> #include <queue> #include <set> #include <…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4900 Problem Description There is an old country and the king fell in love with a devil. The devil always asks the king to do some crazy things. Although the king used to be wise and beloved by his peopl…
//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6322 //题目大意:给定 k,求第 k 小的数 n,满足 φ(n) 是合数.显然 φ(1) = 1 不是合数,只考虑 n ≥ 2 的情况.//思路:得到题意之后,查到了一张表(https://en.wikipedia.org/wiki/Euler%27s_totient_function)//得知当且仅当 n = 1, 2, 3, 4, 6 时,φ(n) 不是合数.第1小的K值是5,第二小的K值…
bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6315 /*hdu 1007 首先我们在建立线段树之前应该思考的是线段树的节点维护一个什么值, 在比赛过程中,我想到了维护a[i]的值但是时间复杂度太高,又想到维护a[i]/b[i]但是取下整, 这样的话无法更新∑的值. 在题解中,维护了b[i]的值,因为a[i]最初是0,所以在update过程中当a[i]>=b[i]时,a[i]/b[i]才>=1: 才会对sum有贡献,所以不妨维护b…
bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6314 ----. 又是一个数学题! 这个题使用容斥原理解决的,现场看dls推公式. 我也推了一遍: f[n][m]=sum { r=0...n,c=0....m } =C(n,r)*C(m,c)*(-1)^(c+r)*2^((n-r)*(m-c)) 列举至少a行b列的情况 f[n][m]=sum{u=a...n,x=b...m}*sum{v=0...n-u,y=0...m-x} =C(…
bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6313 参考dls的讲解: 以5*5的矩阵为例: 后一列分别对前一列+0+1+2+3+4操作: +0:10000 10000 10000 10000 10000 +1:10000 01000 00100 00010 00001 +2:10000 00100 00001 01000 00010 +3:10000 00010 10000 00100 00001 +4:10000 00001…
bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6311 从dls思路中,我整理一下自己的思路: 1.首先也是建图 2.建图结束后,一个dfs查找联通块和度数为奇数的点 从第二对奇数度点开始给奇数度点对开始加辅助边(>2*m+1) 3. 加辅助边后,一个dfs搜索所有的奇数度顶点,如果碰到一个虚边,则res+2: 最后一笔画的个数为max(res/2,1) /*hdu6311cover 题意:给出一张无向图,问多少次一笔画能覆盖整张图.…
思路:首先红色肯定要放在最后面.前面蓝色和绿色dp求解. dp[i][j]  表示前面(i+j) 个 有 i 个蓝色塔  j个绿色塔 能造成最大伤害. //============================================================================ // Name : 1005.cpp // Author : // Version : // Copyright : Your copyright notice // Description…