这个题还是比较好的,提供了一种求最小生成树不错的方法,但是,C++ TLE,G++ 400+ms 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 1005;...
分类:
其他好文 时间:
2015-07-25 13:35:34
阅读次数:
114
题意:
给你n个人m条关系
每条关系包含a,b
代表a和b可以是线上朋友也可以是线下朋友
然后保证每个人的线上朋友数和线下朋友数相等
问你有多少种组成方法
思路:
官方题解是爆搜+剪枝,然而并不会写。。
比赛的时候想到用高斯消元来剪枝
最后枚举自由元
因为关系的话到了最后肯定有些关系是确定的。
这样一定会消掉一些部分
最后G++AC C++TLE。。
代码:
#incl...
分类:
其他好文 时间:
2015-07-24 18:37:56
阅读次数:
169
【解析】最短路
[Overview]给定n个物品,每个物品有一个非负价值,问[L,R]区间内有多少价值可以被凑出来。
[Analysis]
这道题很多神犇的题解都写得模模糊糊的,貌似看了好久才弄懂,下面是原创啊。
生成函数?TLE。
对于区间[l,r]的答案,可以通过差分转化为 1到r的答案数 - 1到(l-1)的答案数。
注意这道题是求有多少个值能被凑出来,而不是...
分类:
其他好文 时间:
2015-07-24 13:05:30
阅读次数:
120
【解析】Hash,离散化,Tarjan
[分析]
对于每个名字,首先离散化成编号。
用hash或者其他,反正不要最基本的就行了,否则O(N^2L)会爆掉。
然后请参考:http://www.cnblogs.com/Randolph87/p/3757817.html
[吐槽]
难得吐槽一下,做这道题竟然做了一个上午,开始暴力求标号,然后一直TLE。
中间map的数据范围少开了N...
分类:
其他好文 时间:
2015-07-24 13:02:58
阅读次数:
110
运气不错,这次cf大涨,居然是房间第二(要不是D题TLE了,就第一了)用string会TLE,用char加下标,还看到更牛的算法, 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxx=200010; 6 c...
分类:
其他好文 时间:
2015-07-24 06:47:22
阅读次数:
113
DESCRIPTION :大意是说。给你n个代表病毒的字符串。m个表示网站的字符串。让你计算有多少个网站被病毒感染了。被那些病毒感染了。刚开始就想暴力。然而,忽略了条件:每个网站最多有三个病毒。于是。TLE了。于是换AC自动机。于是MLE了。于是把最大的结构体指针数组换成队列。用时间来换空间。233...
分类:
其他好文 时间:
2015-07-23 21:31:21
阅读次数:
140
都到现在了还不会STL,赶紧学习一下。。。
求下一个排列的函数:next_permutation(first,last),其中first,last都是指针变量,求的是区间
[first,last)的下一个排列,升序求得,比若说1 2 3 下一个排列是1 3 2,最后一个和排列的下一个排列是第
一个,即3 2 1——>1 2 3,据说效率也不怎么样,poj 1833用G++交TLE,C++过了...
分类:
其他好文 时间:
2015-07-23 12:05:26
阅读次数:
105
题意:给定两个等长串a,b,判断是否等价。等价的含义为:若长度为奇数,则必须是相同串。若长度是偶数,则将两串都均分成长度为原串一半的两个子串al,ar和bl,br,其中al和bl等价且ar和br等价,或者al和br等价且ar和bl等价。
实际上很水。直接按照题意模拟写个递归分治就可以求。比赛的时候总觉得这样暴力写会TLE,因为算了下大概是4...
分类:
其他好文 时间:
2015-07-23 07:06:55
阅读次数:
235
不知道为什么把这道题放在高效里,我这一点也不高效的方法居然也跑了0.016s
我们需要做的很简单,挨个字符的选择,然后先加上这个字符,和所有字符串比较一遍,根据大于它和小于它的字符串个数进行判断就好了 。 注意z这个字符 ,对于某些数据,会TLE的。。。
没什么意思,直接看代码吧:
#include
using namespace std;
const int maxn = 10000 +...
分类:
其他好文 时间:
2015-07-22 22:53:07
阅读次数:
118
【解析】排序+并查集
[分析]
求联通块,每操作一次询问一次。
搜索? O(N^2),TLE。
并查集,根据上次的结果更新答案。
问题在于,这是分离的操作,而不是合并的,怎么办呢?
反过来不就是合并的了吗?
给每个点标号,表示它打击的先后次序,例如结点3是第2个打击的,level[3]=2。
对于所有未打击的点,标号为打击的个数nl+1。
然后对于每条边,它一定是在第ed...
分类:
其他好文 时间:
2015-07-22 22:45:37
阅读次数:
122