题意: 多组输入,给定a,b两个数组,长度分别为n,m。每个元素有两个值:wi,vi,要求从两个数组中分别选出一个子数组,使得两个子数组的wi和相同,并使总的vi之和最大。 数据范围:n,m<=1e3,wi<=1e3,vi<=1e9,\(\sum(n+m)<=1e4\) 解法: 很容易想到分别对两个 ...
分类:
其他好文 时间:
2020-07-31 18:01:31
阅读次数:
115
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6808 思路:刚开始也是乱想,想几下就忍不住画个t-x图像,然后每个点有两种可能,一是向西跑,一是向东跑。在图中都画出来发现: 我画了4个点,箭头表示可能移动的方向,这时候发现这不就是找“覆盖所有点最少需 ...
分类:
其他好文 时间:
2020-07-30 22:21:13
阅读次数:
191
HDU 6808 - Go Running 题意 有一条路可以看成是无尽头的数轴 学生可以选择一个点开始跑步,可以选择从任意时间$t1$开始跑,从任意时间$t2(t2>t1)$结束跑步,也可以选择跑步方向,但跑步速度恒定为$1\ m/s$ 跑步开始前不会出现在数轴上,跑步结束后也不会出现在数轴上 这 ...
分类:
其他好文 时间:
2020-07-30 21:44:24
阅读次数:
88
唯一难点应该在于怎么转点吧,直接看代码呗。 //#pragma GCC optimize("-Ofast","-funroll-all-loops") //#pragma GCC optimize(2) //freopen("C://std/a.in","r",stdin); //freopen(" ...
分类:
其他好文 时间:
2020-07-29 17:46:49
阅读次数:
81
1004.Tokitsukaze and Multiple 求和为p的倍数的块的最大数量 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (register in ...
分类:
其他好文 时间:
2020-07-29 17:32:55
阅读次数:
99
2020 Multi-University Training Contest 3 施工中。。。 1004 Tokitsukaze and Multiple #include<bits/stdc++.h> #define ll long long #define maxn 100010 #define ...
分类:
其他好文 时间:
2020-07-29 14:30:59
阅读次数:
162
思路:题目的边权是由随机数给出的,所以最短路径上的边数不会很长,有多条不同走法的最短路的情况出现的概率也很低,所以可以先找出一条最短路,删掉一条边后,转化为 \(k - 1\) 的子问题继续求解,直到 \(k = 0\) ,记录最大值就好。。。。 #include <iostream> #inclu ...
分类:
其他好文 时间:
2020-07-28 22:17:45
阅读次数:
90
首先,明显的网络流。那么如何建边,对于每个二次函数在[1,m]里挑n个函数值最小的点, 这样子一共n^2个点,注意还要去重。这n^2个点其实就能使得n个二次函数(a, b, c)完全匹配。 那么流量全部设为1,费用是对应的函数值。超级源点和终点费用为0;但是,跑n次费用流时间不允许,但是你仔细想每次 ...
分类:
其他好文 时间:
2020-07-27 15:49:36
阅读次数:
71
不难发现答案即为a[l, r]的长度加上b的长度减去2倍的a[l,r]与b的LCS。 那么难点就在于如何处理出每次询问的lcs了,这里仍然采用dp的思想。对于dp[i][j]代表b串前i个字符串与a[l,r]形成了长度为j的公共子序列时在a串中的最小下标位置。 那么不难得出转移方程1 :dp[i][ ...
分类:
其他好文 时间:
2020-07-25 11:28:59
阅读次数:
75
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6755 题意:求一个式子,其中F是斐波那契数列 思路:因为斐波那契数列的通式为 所以式子可以化简为 又根据2mod 1e9+9的逆元为500000005,所以x^2≡5(mod 1e9+9)解得x为383 ...
分类:
其他好文 时间:
2020-07-24 21:48:42
阅读次数:
106