2014年7月16日
摘要: 思路:二分答案,时间复杂度O(nlgn).若个数为x,那么算出这种情况下提供的水管的最大值和最小值与n比较即可,注意x个分离器需要减去x-1个水管。#include#include#include#include#include#define LL long long intusing namesp... 阅读全文
posted @ 2014-07-16 18:02 wangzhili 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 此题看似很简单,但实际上有不少细节,WA点不少。分情况处理即可。#include#include#include#include#include#include#includeusing namespace std;bool inMap(int x, int y){ return x > 0 ... 阅读全文
posted @ 2014-07-16 17:55 wangzhili 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个序列,问你从l位置到结尾有多少个不同的数字。水题,设dp[i]表示从i位置到结尾不同数字的个数,那么dp[i] = dp[i+1] + (vis[a[i]] == 0),在O(n)时间内得出答案。#include#include#include#include#includeusing... 阅读全文
posted @ 2014-07-16 17:52 wangzhili 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 大致题意是给n个人和m组关系,每组关系都是两个人s和t,表示s年龄不小于t的年龄,然后让你把这n个人分组,使得任何一个组里面的任意两人都不能直接或间接的得出这两个人的年龄大小关系。思路:根据给出的关系建图,问题转化为求图里面的一个最长链。考虑简单情形:图里面没有回路,那么直接dp+记忆化搜索就OK了... 阅读全文
posted @ 2014-07-16 11:21 wangzhili 阅读(126) 评论(0) 推荐(0) 编辑