。。。。悲剧了。。。rating跌停。。。直接变黄55555555555555
。。。。fail了两题。。
@Update:
总结:。。悲剧了就悲剧了。。要吸取教训!
B:。。。居然是因为题目看的不仔细。。把面积最小看成了x最小然后y最小。。。
5555555555555555555555555太傻叉了。。。。
D:。。。。完全是在乱做啊。。。胡乱构造怎么行呢555555555555555我是不是脑残啊。。。
好伤心。。。求安慰。。求抱抱。。。
。。。。悲剧了。。。rating跌停。。。直接变黄55555555555555
。。。。fail了两题。。
@Update:
总结:。。悲剧了就悲剧了。。要吸取教训!
B:。。。居然是因为题目看的不仔细。。把面积最小看成了x最小然后y最小。。。
5555555555555555555555555太傻叉了。。。。
D:。。。。完全是在乱做啊。。。胡乱构造怎么行呢555555555555555我是不是脑残啊。。。
好伤心。。。求安慰。。求抱抱。。。
http://acm.sgu.ru/problem.php?contest=0&problem=131
这题显然是一道傻叉题。。。不过我这个写法还是挺好玩的。。。
我觉得这可以说是最优美的写法了。。。
直接贴程序:
http://www.ideone.com/ZbAU5
还有一个标准的按格Dp
http://www.ideone.com/ckZlt
http://acm.sgu.ru/problem.php?contest=0&problem=439
。。似乎有点无聊的题目。。。
第一问直接套某种算法。。。
第二问的话。。hash乱搞。。。
具体的说hash支持求Lcp么。。所以判断两个字符串是否只差一个字符可以通过求两次Lcp搞出来。。。。
。。。这个题目的官方题解还是很霸气的。。。复杂的动态规划。。。
但其实也是有比较简单的数学方法。。。
题目:http://www.topcoder.com/stat?c=problem_statement&pm=10773&rd=14146
题目简述:给一个图,里面每对点之间最多有两条简单路径(可以没有)。。
让你加入一些边。。使得每对点之间都有1或两条简单路径。。。
求加入边的方法数(顺序无视)。。。
首先。。可以发现结果的图最多只有一个环。。。
考虑结果无环的情况。。也就是当前就没有环。。
然后考虑目前的联通分量..设大小为v1,v2,v3。。。。vM。。。
那么把联通分量看成一个点。。考虑这M个点之间所有的生成树。。
考虑一个特定的生成树。。
设vi的度数为di。。那么这个情况对结果的贡献就是所有vi^di的积。。
根据prufer-code。。这样的可能性的个数是C(M-2,d1-1,d2-1,d3-1…dM-1)。。
C(N,a1.aM)表示把N个数染成M种颜色,第i种颜色有ai个的情况数。。。
把所有结果都+起来。。
那么答案就是。。
Mult(v1..vM)*Sum(v1..vM)^n-2
Mult表示括号内所有数的和。。。
。。。然后考虑有环的情况。。
有两种。。一种是环在一个联通分量内部。。这很好解决。。
还有一种是环在联通分量之间。。
那么枚举环上的元素是哪些。。把这些元素看成一个大的节点就可以了。。。
众所周知C++ IDE最爽的还是VS。。但是咱们是伟大的linux党。。咋办呢?
用eclipse吧。。。。从官网上下一个eclipse CDT
http://www.eclipse.org/cdt/
解压之后直接可以运行。。。。
有各种强大的功能。。。比codeblocks强太多了>_<。。。
果断抛弃codeblocks。。
Python 和 Java都要学会。。
TCO2010做完。。(还差3场)
TCO2009准备去做掉。。。
Latex要学会。。。用Latex把POI2010的报告写好。。(这个不急。。寒假最好能完成)
gdb sed gawk gprof 等等都得会啊。。。
。。。苦练计算几何。。。
还是做做OJ把。。争取寒假结束之前SGU刷到rank 50。。。(目前rank137)
哎。。今天的状态感觉很烂。。。
A都resubmit了一次>_<。。。
不过后来感觉好一点了。。做了A之后发现B好麻烦。。就去做C。。然后我SB了。。C Fail了>_<。。。
5555555555 C不Fail我就能前10了么T_T。。
写了B之后去写D。。。。
然后我的D看错了题意。。。最后才发现。。被Cha了2次同时交了3次。。结果只剩600分。。。
幸好E做出来了。。。跟tourist的算法一样yeah~~~~不过他比我快了一倍>_<。。。
tourist太BT了。。。
rating居然没跌停。。太不可思议了。。。
http://acm.sgu.ru/problem.php?contest=0&problem=434
题意自己看>_<
首先,令A[i]=S[i]-D[i]。。那么题目的目的就是把所有A[i]变成0
可以发现。。对于和为0的t个数来说。。可以用t-1次完成倒水。。。
那么。。这个题目就变成了把n个数分成尽量多的部分。每个部分的和都是0。。
显然可以3^n的集合dp。。不过这显然是要TLE的。。
其实最关键的地方就在这里。。。
考虑任何一个数的序列。。比如a1,a2,a3,a4这样的。。如果只能把一些连续的分成一段。。那么显然是每当部分和为0的时候分一下最优。。。
那么问题就转化成了。。求一个最优的序列。。为0的部分和尽量多!
这是和很傻叉的。。可以dp在2^n解决。。。
http://acm.sgu.ru/problem.php?contest=0&problem=388
。。。开始写点题解了。。
题目大意:
给你一个二分图,然后有红色和蓝色两类边,求一个最大子集,
使这个子集不论对于红色边,还是对于蓝色边,都能有完美匹配。。
比如红色边是1-2,3-4,蓝色边是1-4,3-2。。那么1,2,3,4满足条件。。
这个题目初看很不可捉。。仔细想想发现还是可捉的。。关键是说。。在这个结果子集中,每个点都被一条红边和蓝边
连接,那么可以看成红边进入该店,蓝边离开该点。。那么其实就是说。。。。是一个流>_<。。。
那么我们给边一个费用1。。找一个最大费用可行流就可以了。。
算法具体就不说了。。我是用消圈算法的。。。因为有正环所以spfa之类的就要悲剧了。。
P.S.洲妹妹好厉害。。SPOJ已经轻松Rank50了Orz!!!!!!!!!!!!1
T_T我数学考了57。。TMD还是组合。。。5555555555555555