摘要: 题意:有n只猫咪,开始时每只猫咪有花生0颗,现有一组操作,由下面三个中的k个操作组成:1. g i 给i只猫咪一颗花生米2. e i 让第i只猫咪吃掉它拥有的所有花生米3. s i j 将猫咪i与猫咪j的拥有的花生米交换现将上述一组操作做m次后,问每只猫咪有多少颗花生?解题报告:http://www.cnblogs.com/acSzz/archive/2012/08/20/2648087.htmlView Code 1 // File Name: 3735.cpp 2 // Author: Missa 3 // Created Time: 2013/2/7 星期四 12:35:55 ... 阅读全文
posted @ 2013-02-07 14:47 Missa 阅读(1372) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个n(n<=100)个点的有向图,问:Q1、最少需要选择多少个点,使得从这些点出发能遍历完整个图; Q2、最少需要添加多少条有向边,使得整个图成为强连通图; 分析: 求出强连通分量后进行缩点,得到每个强连通分量的入度in[],出度out[]; Q1:入度为0的强连通分量个数; Q2:max(入度为0的强连通分量个数,出度为0的强连通分量个数); 注意的地方:假如原图就是一个强连通图。则显然Q2是0.kosaraju:View Code 1 // File Name: 1236.cpp 2 // Author: Missa 3 // Created Tim... 阅读全文
posted @ 2013-02-06 20:29 Missa 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意:n头奶牛,给出若干个欢迎关系a b,表示a欢迎b,欢迎关系是单向的,但是是可以传递的,如:a欢迎b,b欢迎c,那么a欢迎c 。另外每个奶牛都是欢迎他自己的。求出被所有的奶牛欢迎的奶牛的数目.方法:对有向图求强连通分量,然后找出所有独立的强连通分量(所谓独立,就是该连通分量里面的点到外面的点没有通路,当然,连通分量外的点是可以有路到强连通分量内的点的),如果独立的强连通分量的数目只有一个,那么,就输出这个强连通分量内解的个数,否则输出无解。kosaraju:http://www.nocow.cn/index.php/Kosaraju%E7%AE%97%E6%B3%95View Code . 阅读全文
posted @ 2013-02-05 21:37 Missa 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 给你两颗二叉树,左右子树不可旋转,求这两个棵树相同的子树的个数。可以给每一种子树的形态一个编号,那么我们只要统计第一个颗树中每种形态的子树有多少个,然后把第二颗树中相同子树的数目与之相乘就可以了。我们可以设定叶子节点的形态编号为0,用一个map来存放hash值,而任何一个节点的哈希值都可用左右子树的形态编号形成的pair唯一表示。View Code 1 // File Name: 3602.cpp 2 // Author: Missa 3 // Created Time: 2013/2/5 星期二 11:47:26 4 5 #include<iostream> 6 #inclu.. 阅读全文
posted @ 2013-02-05 14:22 Missa 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 好像是第一次用位运算。。。得习惯二进制。。还有就是p=0的时候。。。View Code 1 // File Name: 1164.cpp 2 // Author: Missa 3 // Created Time: 2013/2/2 星期六 23:08:26 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 8 #include<algorithm> 9 #include<cmath>10 #include<queue>11 #include<s 阅读全文
posted @ 2013-02-03 12:13 Missa 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 构图很有趣,我是把区域当成构图的点,然后floyd+枚举每个区域到所有会员的穿过墙的和。求出。开始wa是想错了一个地方。就是没看清题目给的区域点是按逆时针给出。。。然后竟然把一个区域的所有点都当成是可以连接的边了。。。囧。。其实很简单。。可是搞了很久。。View Code 1 // File Name: 1161.cpp 2 // Author: Missa 3 // Created Time: 2013/2/2 星期六 13:46:13 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 阅读全文
posted @ 2013-02-02 22:40 Missa 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <time.h> 6 using namespace std; 7 8 const int maxn=5e2+10; 9 long A[maxn][maxn],B[maxn][maxn],C[maxn][maxn];10 11 int n;12 13 int main()14 {15 srand((unsigned)time(NULL));16 阅读全文
posted @ 2012-12-16 23:02 Missa 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 黑书上的dp第一题,输出的格式开始打算用记录,tle了,,后来看了这种递归输出。学习,, 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 #include <string> 7 8 using namespace std; 9 const int inf=0x3f3f3f3f;10 const int maxn=1e2+5;11 int dp[maxn][ma 阅读全文
posted @ 2012-12-12 23:15 Missa 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 图灵杯终于结束了,不得不说战线拉的太长了,从国庆放假开始写到现在有2个月的时间,在上面花费的时间的话,按天来算应该有10+10+10=30天的时间了,虽然按小猫子说的那样,又不是每天在写,除了要交代码的那几天其他时间好像每天也就写2-3个小时。。。。但是真心不想再debug了,都看晕了。。结果还好,起码拿到钱了。 昨天晚上的比赛确实揪心。首先就是前几天就知道solo太强了。虐爆全场的姿势啊。心里冰凉冰凉的,安慰自己说毕竟花的时间没别人多,争个第二还是值得鼓励的。。 的确,测试的不够全面啊,懒姿态,实在不想,也一时想不到好的测试方法,导致自己的好几个策略都失败了,开始就担心别16强给跪了... 阅读全文
posted @ 2012-12-07 02:29 Missa 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 混合图的欧拉回路。dinic邻接表形式模版。 1 //poj 1637 2 /************************************************************************* 3 * 混合图的欧拉回路问题 4 5 欧拉回路问题。 6 7 1 定义 欧拉通路 (Euler tour)——通过图中每条边一次且仅一次,并且过每一顶点的通路。 欧拉回路 (Euler circuit)——通过图中每条边一次且仅一次,并且过每一顶点的回路。 欧拉图——存在欧拉回路的图。 8 9 2 无向图是否具有欧拉通路或回路的判定 G有欧拉通... 阅读全文
posted @ 2012-12-05 14:58 Missa 阅读(833) 评论(0) 推荐(1) 编辑
摘要: 1 #include <iostream> 2 #include <cstdio> 3 #include <queue> 4 #include <cmath> 5 #include <algorithm> 6 #include <cstring> 7 using namespace std; 8 9 #define inf 0x3f3f3f3f 10 11 int supply[55],demand[55];//某种商品的提供量和需求量 12 int dis[110],pre[110],s,t;//s为超级源点,t为超级汇 阅读全文
posted @ 2012-12-05 01:13 Missa 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1,求线段交点。2,枚举各个面积 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 7 using namespace std; 8 9 struct point 10 { 11 double x,y; 12 }; 13 struct line 14 { 15 point a,b; 16 line(){} 17 line(point aa,point bb) 18 { 1. 阅读全文
posted @ 2012-12-03 17:39 Missa 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 用pair来表示推演树上的结点,用first表示结点的值,用second表示结点是由父结点乘以哪一个因子得到的。 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <algorithm> 5 #include <cmath> 6 #include <queue> 7 #include <stack> 8 #include <string> 9 #include <vector>10 #inc 阅读全文
posted @ 2012-11-28 22:21 Missa 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/wangkangluo1/archive/2011/07/22/2114118.htmlstring类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &operator[](i 阅读全文
posted @ 2012-11-28 20:36 Missa 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 很慢。。但是很简单。学习了。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <map> 5 #include <string> 6 #include <cstring> 7 8 using namespace std; 9 10 int main()11 {12 char str[20],s1[20],s2[20];13 map<string,string>mymap;14 while(gets(str)) 阅读全文
posted @ 2012-11-27 16:54 Missa 阅读(300) 评论(0) 推荐(0) 编辑