上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 对于图论中的某些问题,我们为了方便解决问题,一种常见的解题策略就是“拆”。这里我给出拆点和拆边的两个典型例子,算一个学习笔记把。拆点:网络流网络流中会遇到“某个点只能经过一次”这样的限制条件。由于经典的网络流算法是对边的限制,所以可以将点X拆成<X.a>,<X.b>。原来连入点的边连<X.a>,原来连出点的边连<X.b>。这样我们就可以通过对(<X.a>,<X.b>)的限制来限制点了。拆边:带花树给一个无向图和一个对应的顶点度序列(可以不与原图相同)。删去图中一些边能否使顶点的度与序列一一相同。一条无向边e连着两个点x,y 阅读全文
posted @ 2012-02-09 22:40 FancyCoder0 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 第一次换语言写代码,有感而发,打算做一个小小的对比。P:优点:通俗易懂、清晰流畅调试方便缺点:界面不美观用的人少直接可使用算法少C++:优点:紧跟时代潮流、用的人多语言灵活、变量随意定(区分大小写)、循环很精巧直接可使用算法(STL等)多#define操作相当灵活缺点:头文件等很烦运算符,名称很乱,看不懂,尤其是等号需打==数组定义要一个个打过来,下标不能负IO操作奇怪函数不能赋值最后需要return 0打开慢、编译慢调试不方便兼容性不好(int64需区分windows和Linux等) 阅读全文
posted @ 2012-01-15 00:24 FancyCoder0 阅读(620) 评论(0) 推荐(0) 编辑
摘要: USACO,一只憨态可掬的美国奶牛。小学刚毕业的那个暑假,当稚嫩的我第一次注册完毕,进入这个美国网站时,心情是那样的急切与兴奋。首次提交并成功AC的喜悦至今记忆犹新,当屏幕上打出一行行测试点的结果,那时的感觉真的难以言喻。两年多,近百题。USACO,你让我熟练掌握了Pascal;USACO,你让我养成了末尾换行的好习惯;USACO,你让我知道了NOCOW这个平台;USACO,你让我借鉴了不少神牛的题解;USACO,你让我体验到了coding的奇妙。速度很慢,但最终完成。如今我对着这段期盼已久的话:“Congratulations! You have finished all available 阅读全文
posted @ 2012-01-03 00:28 FancyCoder0 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 【出处】HNOI2011Day1【题目描述】给定一个长度为N的由“(”和“)”组成的字符串和M个操作。要求实现四个操作:1、统一:将[a,b]之间的所有括号改成c(“(”或“)”)2、翻转:将[a,b]之间的字符串翻转3、改变:将[a,b]之间的‘(’变成‘)’4、询问:询问[a,b]之间的字符串至少要改变多少位才能变成合法的括号序列。N,M≤100000【算法分析】此题非常巧妙,可以成功转化成类似最大连续子序列的求解方式,并运用Splay进行维护。对于一个已知的括号,我们该如何求出询问的答案?比如)((())((这样一个,我们把符合的一层层去掉,就变成了)(((,那么很显然答案是3。并且易得 阅读全文
posted @ 2011-11-24 19:25 FancyCoder0 阅读(1417) 评论(0) 推荐(1) 编辑
摘要: RQNOJ646现在有N个元素,每个元素具有3个属性Ai, Bi, Ci,现在青青要求把全部元素分为3个集合,称为集合X、集合Y和集合Z,使表达式的值最小。可以让某个集合为空。1 ≤ n ≤ 100, 000,1 ≤ Ai, Bi, Ci ≤ 100, 000, 000怎么说呢?这题是我至今见到过的最神奇的一题。神奇到叹为观止。经尝试,贪心是不行的,易找出反例。经尝试,高深的算法和数据结构是很难想出来和写出来的。经了解,本题可以用搜索做。且必须是裸搜,即O(3^N)的。经尝试,若加个排序的预处理,写O(NlogN+2^N)是过不了的。对于O(3^(10^5))在1s内跑出,我实在无话可讲。这就 阅读全文
posted @ 2011-10-21 20:59 FancyCoder0 阅读(349) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页