2009 Multi-University Training Contest 5 - Host by NUDT
2016-11-04 15:48
351 查看
Carry之路 三人组 队伍正式成立了。。。。QAQ
2016.11.3 打了第一场比赛
09年的第五场多校合练
![](https://img-blog.csdn.net/20161104141346170)
当时我们最后过的题
![](https://img-blog.csdn.net/20161104141409827)
在杭电的 题目列表是: 2853-2862
赛后补了下,1002、1008
1001 当时只有10多个人过的图论
熊神 用km算法跑二分带权匹配,用了一个cf上面学到的巧妙地算法过了。 先给所有权扩大1000倍,给想要走的边 +1 ,让每次都能选则这条边,具体不是很懂。。。 %panda
1002
md,最坑的就是这题, 这题感觉最难点就是题意。。。 一个then 表达了一万个意思,真的理解不了。。。
题意应该是这样的:
如果一个数n ,能够列举出a、b 满足条件1: a*a*b+1,并且a、b不满足条件二:a*a+b,那么这个数n就是NO,否则就是YES
然后我们预处理打个表,然后O(1)判断就好了
(表中a、b扫到1000 就可以了,甚至都不用扫到5000)
1003
斐波那契+组合数。。。 算了,数学看着头疼,交给小学弟搞了
1004
题解都没有,就先不补了
1006、1010 都同理 先不补了
1005
签到题,简单计算几何
1007
算一个dp?
我们在对角线上dp, 对于每一个点,我们都以他为矩阵的左下角,扫能够达到的最大的边长。然后对角线上会有很明显的关系。。而且dp[i-1][j+1]=5 的话,dp[i][j]最大也只可能是5+1了
然后,熊神写的代码显然要比我的简介很多啊,%panda
1008 赛后发现是一个挺简答得并查集维护。。。。
但当时 不知为什么,没有去看。。。
只有一个坑点,当合并A、B的时候,如果A==B ,那么这个操作使非法的
并查集可以错的地方,我之前貌似都错过了,所以很快就敲完了,但没注意每个样例之后的换行PE了。。。
1009
dp
最坑的地方是: 预处理 ,然后O(1)输出,答案,否则就会TLE ,整个人都被T得不好了。。。
毕竟还是too naive ,这个都记不得了。。。
2016.11.3 打了第一场比赛
09年的第五场多校合练
当时我们最后过的题
在杭电的 题目列表是: 2853-2862
赛后补了下,1002、1008
1001 当时只有10多个人过的图论
熊神 用km算法跑二分带权匹配,用了一个cf上面学到的巧妙地算法过了。 先给所有权扩大1000倍,给想要走的边 +1 ,让每次都能选则这条边,具体不是很懂。。。 %panda
1002
md,最坑的就是这题, 这题感觉最难点就是题意。。。 一个then 表达了一万个意思,真的理解不了。。。
题意应该是这样的:
如果一个数n ,能够列举出a、b 满足条件1: a*a*b+1,并且a、b不满足条件二:a*a+b,那么这个数n就是NO,否则就是YES
然后我们预处理打个表,然后O(1)判断就好了
(表中a、b扫到1000 就可以了,甚至都不用扫到5000)
1003
斐波那契+组合数。。。 算了,数学看着头疼,交给小学弟搞了
1004
题解都没有,就先不补了
1006、1010 都同理 先不补了
1005
签到题,简单计算几何
1007
算一个dp?
我们在对角线上dp, 对于每一个点,我们都以他为矩阵的左下角,扫能够达到的最大的边长。然后对角线上会有很明显的关系。。而且dp[i-1][j+1]=5 的话,dp[i][j]最大也只可能是5+1了
然后,熊神写的代码显然要比我的简介很多啊,%panda
char mp[1010][1010]; int dp[1010][1010]; int main() { int n; while (scanf("%d", &n) != EOF) { if (n == 0) break; for (int i = 1; i <= n; i++) { scanf("%s", mp[i] + 1); } int ans = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == 1 || j == n) { dp[i][j] = 1; continue; } int row = i; int col = j; while (row >= 1 && col <= n && mp[row][j] == mp[i][col]) { row--; col++; } int x = i - row; if (dp[i - 1][j + 1] + 1 <= x) { dp[i][j] = dp[i - 1][j + 1] + 1; } else dp[i][j] = x; ans = max(ans, dp[i][j]); } } printf("%d\n", ans); } return 0; }
1008 赛后发现是一个挺简答得并查集维护。。。。
但当时 不知为什么,没有去看。。。
只有一个坑点,当合并A、B的时候,如果A==B ,那么这个操作使非法的
并查集可以错的地方,我之前貌似都错过了,所以很快就敲完了,但没注意每个样例之后的换行PE了。。。
1009
dp
最坑的地方是: 预处理 ,然后O(1)输出,答案,否则就会TLE ,整个人都被T得不好了。。。
毕竟还是too naive ,这个都记不得了。。。
相关文章推荐
- hdu2888Check Corners【二维RMQ】2009 Multi-University Training Contest 9 - Host by HIT
- 2009 Multi-University Training Contest 10 - Host by NIT
- HDU 3015——Disharmony Trees(树状数组 2009 Multi-University Training Contest 12 - Host by FZU)
- 2009 Multi-University Training Contest 4 - Host by HDU
- Connections between cities&&2009 Multi-University Training Contest 8 - Host by BJNU
- 2009 Multi-University Training Contest 1 - Host by TJU
- hdu 3094 A tree game 2009 Multi-University Training Contest 18 - Host by ECNU
- 2009 Multi-University Training Contest 8 - Host by BJNU
- Wireless Password [ 2009 Multi-University Training Contest 1 - Host by TJU ]
- 2011 Multi-University Training Contest 3 - Host by BIT
- HDU 3830 Checkers 2011 Multi-University Training Contest 1 - Host by HNU
- HDU3879 Base Station 最大权闭合图/最大密度子图 2011 Multi-University Training Contest 5 - Host by BNU
- HDU 3917 Road constructions 2011 Multi-University Training Contest 8 - Host by HUST 最大权闭包
- HDU 3920 Clear All of Them I 状态压缩DP 2011 Multi-University Training Contest 9 - Host by BJTU
- HDU3917 Road constructions 最大权闭合图 2011 Multi-University Training Contest 8 - Host by HUST
- HDU 3602 2012(2010 ACM-ICPC Multi-University Training Contest(16)——Host by NUDT)
- HDU 3873 Invade the Mars 2011 Multi-University Training Contest 4 - Host by SDU
- HDU3912 Turn Right 模拟 2011 Multi-University Training Contest 8 - Host by HUST
- 2011 Multi-University Training Contest 1 - Host by HNU&&Earth Hour
- 2011 Multi-University Training Contest 1 - Host by HNU