随笔分类 -  汝佳书

摘要:有 n 个员工,n-1个从属关系。 不能同时选择某个员工和他的直接上司,问最多可以选多少人,以及选法是否唯一。 树上的最大独立集问题。只不过多了一个判断唯一性。 dp[u][0]表示不选这个点的状态,dp[u][1]表示选这个点的状态。 如果不选 u, 那么 u点状态是由 dp[v][0] 或者 d 阅读全文
posted @ 2018-08-16 09:54 jvruodejrLS 阅读(149) 评论(0) 推荐(0)
摘要:给一个n行m列的数据库表格,问有没有两个行 r1,r2 和 c1,c2,满足(r1,r2)的元素=(c1,c2)的元素。 n≤10000,m≤10。 直接枚举4个肯定会T的。可以只枚举c1 c2,然后枚举每一行,将c1 c2加入map里,下面再次枚举到就证明有。 pair是个很好用的东西。 阅读全文
posted @ 2018-05-10 23:32 jvruodejrLS 阅读(167) 评论(0) 推荐(0)
摘要:给你一堆文件名,排序后按列优先的方式左对齐输出。 假设最长文件名长度是M,那么每一列都要有M+2字符,最后一列有M字符。 inmanip真NB。。orz 阅读全文
posted @ 2018-05-10 16:23 jvruodejrLS 阅读(154) 评论(0) 推荐(0)
摘要:看上去十分麻烦的一道题,但是看了看别人的写法感觉大神们写的无比简单。 就是记一个每列单词的最大长度,然后剩下的事交给NB的iomanip头文件就好。 stringsteam是一个神奇的东西。 阅读全文
posted @ 2018-05-09 16:29 jvruodejrLS 阅读(149) 评论(0) 推荐(0)
摘要:【题意】 有一个专门为了集合运算而设计的“集合栈”计算机。该机器有一个初始为空的栈,并且支持以下操作:PUSH:空集“{}”入栈DUP:把当前栈顶元素复制一份后再入栈UNION:出栈两个集合,然后把两者的并集入栈,并输出并集的sizeINTERSECT:出栈两个集合,然后把二者的交集入栈,并输出交集 阅读全文
posted @ 2018-05-01 22:58 jvruodejrLS 阅读(159) 评论(0) 推荐(0)
摘要:n位整数,求删除k位,可以得到的最大值。 n和k都是10^5。 首先可以想到的是从前面开始,如果看到一位比后面的小,那么就要删除。 这样看貌似是O(n)的。 但是有反例:42635 删除2位 那么需要删的是4 和 2 答案是635 所以又想到删k次,每次都从第一位开始找。这样是O(nk)的,显然T了 阅读全文
posted @ 2017-12-21 17:15 jvruodejrLS 阅读(157) 评论(0) 推荐(0)
摘要:n个件物品,有容量为m的背包,每包最多装两件物品,问最少用几个背包? 一种做法是枚举一个,二分另一个。 另一种做法如下。匹配一个最大的,用最小的就可以,这样肯定是最优的。 #include <iostream> #include <cstdio> #include <cstdlib> #includ 阅读全文
posted @ 2017-12-19 19:35 jvruodejrLS 阅读(131) 评论(0) 推荐(0)
摘要:UVA-208 天道好轮回。UVA饶过谁。 就是一个图的DFS。 不过这个图的边太多,要事先判一下起点和终点是否联通(我喜欢用并查集),否则会TLE。 #include <iostream> #include <cstdio> #include <vector> #include <cstring> 阅读全文
posted @ 2017-12-14 18:13 jvruodejrLS 阅读(136) 评论(0) 推荐(0)

Contact with me