10 2016 档案

摘要:第一题就是一个很简单的dp,这么想就很好想出dp方程了 前面的序列是有1到(i - 1)组成,将i插在最前面,将会增加i - 1个逆序对 如果插在第一个数的后面,将会增加i - 2个逆序对。。。以此类推 于是得到了dp方程: 有一点长,也可以用f[i][j - 1]来状态转移,这样方程很简单得多, 阅读全文
posted @ 2016-10-29 16:09 阿波罗2003 阅读(201) 评论(0) 推荐(0) 编辑
摘要:LCA指的是最近公共祖先(Least Common Ancestors),如下图所示: 4和5的LCA就是2 那怎么求呢?最粗暴的方法就是先dfs一次,处理出每个点的深度 然后把深度更深的那一个点(4)一个点地一个点地往上跳,直到到某个点(3)和另外那个点(5)的深度一样 然后两个点一起一个点地一个 阅读全文
posted @ 2016-10-18 11:41 阿波罗2003 阅读(12620) 评论(0) 推荐(10) 编辑
摘要:不解释,很简单,直接按照题目的方法构造就行了 Code 直接Tarjan,当然也可以直接用深搜(貌似要比Tarjan快一点,其实思路还是差不多的) Code(Tarjan) 1 #include<iostream> 2 #include<cstdio> 3 #include<cctype> 4 #i 阅读全文
posted @ 2016-10-17 15:02 阿波罗2003 阅读(283) 评论(0) 推荐(0) 编辑
摘要:Description Boudreaux and Thibodeaux are student volunteers for this year's ACM South Central Region's programming contest. One of their duties is to 阅读全文
posted @ 2016-10-11 21:04 阿波罗2003 阅读(191) 评论(0) 推荐(0) 编辑
摘要:第一道题还是比较简单,只不过做的时候手贱写错了一个字母,然后活活RE掉了40分 先处理处最终的图,然后从后往前用并查集完成询问。至于之前的删边可以排个序, 然后建一个长度和它一样的boolean数组标志这条边又没被删,删除的时候就lower_bound 就可以了,只不过注意重复的边。如果这一位上为f 阅读全文
posted @ 2016-10-06 14:23 阿波罗2003 阅读(199) 评论(0) 推荐(0) 编辑
摘要:Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16313 Accepted: 4291 Description Bessie hears that an extraordinary meteor shower is coming 阅读全文
posted @ 2016-10-04 19:30 阿波罗2003 阅读(791) 评论(0) 推荐(0) 编辑