O(1) 的小乐
豆瓣账号:http://www.douban.com/people/sosisarah/
摘要: 题意:一个矩形网格,可以填0或1, 但有些位置什么数都不能填,要求相邻两个不同时为1,有多少种填法。矩形大小最大 12*12. 压缩状态DP大多有一个可行的state的范围,先求出这个state范围,对接下来的解题非常有帮助! 注意特判 N==1 的情况。#include #include #include #include using namespace std;vector t; // ... 阅读全文
posted @ 2014-04-17 10:38 O(1)的小乐 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 这个问题要看状态怎么想,第一种直接的想法是1代表未合并,状态就从1111111 转移到 带有1个0,然后带有两个0, 但是这样子编程非常不直观。换一种思路,0代表未合并,但是我可以先合并前几个,就是说在压缩状态的过程中,状态转移的时候尽量是一个连续量的转化#include #include #inc... 阅读全文
posted @ 2014-04-17 09:05 O(1)的小乐 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 下面这一段摘抄自 Boost 1_55_0 的文档,显然标注了 每一个的生命期。 One of the biggest issues with interprocess communication mechanisms is the lifetime of the interprocess communication mechanism. It's important to know when ... 阅读全文
posted @ 2014-04-15 10:33 O(1)的小乐 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 顺利搞出 A B 两题,然后压线晋级了,手速场。 A 题 , 求排列最小的,肯定从后往前来做,维护一个最小的set,只是第一个字母要特判一下。 1: #line 5 "EllysSortingTrimmer.cpp" 2: #include 3: #include 4: #include 5: #include 6: #include 7: #... 阅读全文
posted @ 2014-04-14 18:43 O(1)的小乐 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 拿下 ABD, 顺利晋级, 预赛的时候C没有仔细想,推荐C题,一个非常不错的构造题目!A Magic Trick 简单的题目来取得集合的交并 1: #include 2: #include 3: #include 4: #include 5: using nam... 阅读全文
posted @ 2014-04-14 17:08 O(1)的小乐 阅读(1637) 评论(0) 推荐(0) 编辑
摘要: 以下是STL algorithm的几个函数,使用的条件是有序容器,所以 vector在被sort了之后是可以使用的,set也是可以使用的。 set_difference 这个是求得在第一个容器中有,第二个容器中没有的。set_intersection 求两个容器的交, set_union 求两个容器的并。 set_symmetric_difference 求两个容器的差。 最后使用的时候注意要... 阅读全文
posted @ 2014-04-12 18:09 O(1)的小乐 阅读(1970) 评论(0) 推荐(0) 编辑
摘要: 1 聚类问题:最大间隔的K聚类。我们定义一个K聚类的间隔是处在不同聚类中的任意一对点之间的最小距离。一个自然的目标是寻求具有最大可能间隔的k聚类。 这个问题的算法与Kruskal算法非常相似,首先每一个点都是一个聚类,然后依次按照Kruskal进行计算。。。相当于在Kruskal中删除了k-1条最贵的边。 2 假设给定一个连通图G,假定边的费用都是不同的,G有n个顶点和m条边,指定了G的一条特... 阅读全文
posted @ 2012-11-15 16:40 O(1)的小乐 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 之前做这个题使用的方法是Floyd其所有点的最长路,但是这个还可以使用SPFA来做,因为这个图是肯定没有正环的图,然后把所有入读为0的点,都一次性的加入到SPFA的队列或者栈中,则可以求解出一个全局最大值。然后用SPFA可以加一个父亲域,来回复我们获得的路径。 1: 2: #include <queue> 3: #include <iostream> 4: #incl... 阅读全文
posted @ 2012-11-10 14:40 O(1)的小乐 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 可以把问题转换为一个有向图中求最长路的过程,需要Floyd算法来打印最长路。保存即可。 http://acm.timus.ru/problem.aspx?space=1&num=1078 1: 2: #include <queue> 3: #include <iostream> 4: #include <string.h> 5: #include <stdio.... 阅读全文
posted @ 2012-11-10 12:51 O(1)的小乐 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 求从原点到达某个点之后返回,来回最长的距离是多少? 比较基础的问题,两遍Dijkstra就可以了。 1: 2: #include <iostream> 3: #include <vector> 4: #include <algorithm> 5: #include <queue> 6: #include <string.h> 7: #include ... 阅读全文
posted @ 2012-11-10 00:04 O(1)的小乐 阅读(192) 评论(0) 推荐(0) 编辑