摘要: 题意给出一个N*N的矩阵,有些格子上有障碍,要求每次消除一行或者一列的障碍,最少消除多少次可以全部清除障碍。思路把关键点取出来:一个障碍至少需要被它的行或者列中的一个消除。也许是最近在做二分图匹配专辑吧……很容易想到这就是最小点覆盖集:每条边都至少需要一个点被选中,称这条边被覆盖。而由König定理... 阅读全文
posted @ 2013-08-02 16:32 AbandonZHANG 阅读(89) 评论(0) 推荐(0)
摘要: 题意给出一个N*N的矩阵,有些格子上有障碍,要求每次消除一行或者一列的障碍,最少消除多少次可以全部清除障碍。思路把关键点取出来:一个障碍至少需要被它的行或者列中的一个消除。也许是最近在做二分图匹配专辑吧……很容易想到这就是最小点覆盖集:每条边都至少需要一个点被选中,称这条边被覆盖。而由König定理... 阅读全文
posted @ 2013-08-02 16:32 AbandonZHANG 阅读(126) 评论(0) 推荐(0)
摘要: 题意现在要将5种型号的衣服分发给n个参赛者,然后给出每个参赛者所需要的衣服的尺码的大小范围,在该尺码范围内的衣服该选手可以接受,再给出这5种型号衣服各自的数量,问是否存在一种分配方案使得每个选手都能够拿到自己尺码范围内的衣服.思路明显的二分图多重最大匹配问题:每个点能匹配的边不再限制1个,而是多个。... 阅读全文
posted @ 2013-08-02 15:34 AbandonZHANG 阅读(141) 评论(0) 推荐(0)
摘要: 题意现在要将5种型号的衣服分发给n个参赛者,然后给出每个参赛者所需要的衣服的尺码的大小范围,在该尺码范围内的衣服该选手可以接受,再给出这5种型号衣服各自的数量,问是否存在一种分配方案使得每个选手都能够拿到自己尺码范围内的衣服.思路明显的二分图多重最大匹配问题:每个点能匹配的边不再限制1个,而是多个。... 阅读全文
posted @ 2013-08-02 15:34 AbandonZHANG 阅读(126) 评论(0) 推荐(0)
摘要: 题意有n个女生和n个男生,给定一些关系表示男生喜欢女生(即两个人可以结婚),再给定一个初始匹配,表示这个男生和哪个女生结婚,初始匹配必定是合法的.求每个男生可以和哪几个女生可以结婚且能与所有人不发生冲突。思路好题啊。。。没想到强连通分量还能应用到完美匹配上。。。将男生从1到n编号,女生从(n+1)到... 阅读全文
posted @ 2013-08-02 14:20 AbandonZHANG 阅读(105) 评论(0) 推荐(0)
摘要: 题意有n个女生和n个男生,给定一些关系表示男生喜欢女生(即两个人可以结婚),再给定一个初始匹配,表示这个男生和哪个女生结婚,初始匹配必定是合法的.求每个男生可以和哪几个女生可以结婚且能与所有人不发生冲突。思路好题啊。。。没想到强连通分量还能应用到完美匹配上。。。将男生从1到n编号,女生从(n+1)到... 阅读全文
posted @ 2013-08-02 14:20 AbandonZHANG 阅读(133) 评论(0) 推荐(0)
摘要: 题意询问一段区间里的数能组成多少段连续的数。思路先考虑从左往右一个数一个数添加,考虑当前添加了i - 1个数的答案是x,那么可以看出添加完i个数后的答案是根据a[i]-1和a[i]+1是否已经添加而定的:如果a[i]-1或者a[i]+1已经添加一个,则段数不变,如果都没添加则段数加1,如果都添加了则... 阅读全文
posted @ 2013-08-02 13:04 AbandonZHANG 阅读(113) 评论(0) 推荐(0)
摘要: 题意询问一段区间里的数能组成多少段连续的数。思路先考虑从左往右一个数一个数添加,考虑当前添加了i - 1个数的答案是x,那么可以看出添加完i个数后的答案是根据a[i]-1和a[i]+1是否已经添加而定的:如果a[i]-1或者a[i]+1已经添加一个,则段数不变,如果都没添加则段数加1,如果都添加了则... 阅读全文
posted @ 2013-08-02 13:04 AbandonZHANG 阅读(145) 评论(0) 推荐(0)
摘要: 题意给定一个字符串,问有多少个回文子串(两个子串可以一样)。思路注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以区间dp,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序列的个数,有递推关系:dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1... 阅读全文
posted @ 2013-08-02 00:15 AbandonZHANG 阅读(131) 评论(0) 推荐(0)
摘要: 题意给定一个字符串,问有多少个回文子串(两个子串可以一样)。思路注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以区间dp,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序列的个数,有递推关系:dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1... 阅读全文
posted @ 2013-08-02 00:15 AbandonZHANG 阅读(135) 评论(0) 推荐(0)