ACM
绿水兰田
这个作者很懒,什么都没留下…
展开
-
HDU 5265 序列变换 —— 最长不降子序列
#include #include using namespace std;int a[100005], seq[100005];int getLocation(int n, int len) { int min = 0, max = len; while (min < max) { int mid = (min + max) / 2; if (seq[mid] <= n) { min = mid原创 2015-06-01 23:57:58 · 521 阅读 · 0 评论 -
HDU 5694 BD String
Problem Description 众所周知,度度熊喜欢的字符只有两个:B和D。 今天,它发明了一种用B和D组成字符串的规则: S(1)=B S(2)=BBD S(3)=BBDBBDD … S(n)=S(n−1)+B+reverse(flip(S(n−1)) 其中,reverse(s)指将字符串翻转,比如reverse(B原创 2016-05-23 21:25:40 · 746 阅读 · 0 评论 -
HDU 5690 All X
Problem Description F(x,m) 代表一个全是由数字x组成的m位数字。请计算,以下式子是否成立: F(x,m) mod k ≡ c Input 第一行一个整数T,表示T组数据。 每组测试数据占一行,包含四个数字x,m,k,c 1≤x≤9 1≤m≤1010 0≤cOutput 对于每组数据,输出两行: 第一行输出:”Ca原创 2016-05-22 23:45:47 · 489 阅读 · 0 评论 -
HDU 5698 瞬间移动
Problem Description 有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第n行第m列的格子有几种方案,答案对1000000007取模。 Input 多组测试数据。 两个整数n,m(2≤n,m≤100000) Output 一个整数表示答案 Sample Inp原创 2016-05-22 23:24:15 · 492 阅读 · 0 评论 -
HDU 5701 中位数计数
Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。 现在有n个数,每个数都是独一无二的,求出每个数在多少个包含其的区间中是中位数。 Input 多组测试数据 第一行一个数n(n≤8000) 第二行n个数,0≤每个数≤109 Output N个数,依次表示第i个原创 2016-05-25 22:35:54 · 450 阅读 · 0 评论 -
HDU 5695 Gym Class
Problem Description 众所周知,度度熊喜欢各类体育活动。 今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, 假设最开始每个人有一个唯一的ID,从1到N,在排好队之后,每个同学会找出包括自己在内的前方所有同学的最小ID,作为自己评价这堂课的分数。麻烦的是,有一些同学不希望某个(些)同学排在他(她)前面,在满足这个原创 2016-05-25 01:43:09 · 452 阅读 · 0 评论 -
HDU 5246 超级赛亚ACMer —— 贪心
#include #include #include using namespace std; long long a[10005]; int dowork() { int n, m, k; scanf("%d%d%d", &n, &m, &k); for (int i = 0; i < n; ++i) { scanf("%lld", &a[i])原创 2015-06-06 01:57:51 · 596 阅读 · 0 评论 -
HDU 5248 序列变换 —— 二分
#include #include using namespace std; int a[100005], c[100005]; int mmin(int a, int b) { return a > b ? b : a; } int mmax(int a, int b) { return a > b ? a : b; } bool check(int value, i原创 2015-06-02 00:34:00 · 447 阅读 · 0 评论 -
HDU 5253 连接的管道 —— 并查集
#include #include #include using namespace std; int a[1005][1005]; int node[2000005][2]; int parent[1000005]; vector ves[105]; int abs(int a) { return a > 0 ? a : -a; } void assort(int n, in原创 2015-06-02 23:03:00 · 471 阅读 · 0 评论