摘要: 光找bugs ,忘了注册cf 的比赛了,、、、、、程序一直 TLE ,好是郁闷,搜索 直接把我搞死了写的搜索太暴力了,改进版,代码太烂了关键是dist 存路径距离 使搜索 直接降低一个复杂度View Code #include<iostream>#include<cstdio>#include<queue>#include<string.h>const int N =110;const int inf=999999999;using namespace std;struct node{ int x,y; node(int a=0,int b=0) 阅读全文
posted @ 2012-04-24 23:03 skyming 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 用stl 写代码明显是短了,时间也直线上升不用stl 写的#include<stdio.h>#include<stdlib.h>int f[10000002];int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;}int main(){ int a,i,k,n,s,e; char st[3]; while(scanf("%d %d",&n,&k)!=EOF) { for(i=0;i< k;i++) { scanf("%s %d&q 阅读全文
posted @ 2012-04-19 22:29 skyming 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 题意: 每个数的因子都是有1 2 3 5组成,求第n数是几悲剧的是,不知道怎么回事,电脑上的各个编译器都不能用了#include <iostream>#include <cstdio>#include <queue>using namespace std;typedef pair<long long ,int> node_type;int main(){ int sum[1500]; priority_queue <node_type, vector<node_type>,greater<node_type> > 阅读全文
posted @ 2012-04-19 21:11 skyming 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题意:模拟window进程#include<iostream>#include<cstdio>#include<string.h>#include<string>#include <queue>using namespace std;struct msg{ string name; int sum,val; bool operator < (const msg &a) const { return a.val<val; }};int main(){ char str[100]; priority_queue < 阅读全文
posted @ 2012-04-19 16:52 skyming 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 比赛时没做出来,最后10 钟时倒是想枚举每个角度,精度估计上可能会出问题;后来听“理宝”说可以暴力枚举边的长度,精确到0.001,数据恰好10^7,T_T~~vongang说可以用二分做,也就是官方解题报告的解法:这题用二分的关键是: 首先Regular Polygon是正多边形,: 想到边长和所对的角成正比,没想到啊,Orz,各路大神贴个山寨的代码吧:#include<stdio.h>#include<math.h>#define N 110const double inf =10000;const double pi=acos(-1.0);const double 阅读全文
posted @ 2012-04-05 20:47 skyming 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 资料备份关联容器一般以平衡二叉搜索树作为内部数据结构,RB-tree的应用尤其广泛。RB-tree是许多平衡二叉查找树的一种,一颗有n个内结点的红黑树的高度至多为2lg(n+1),它能保证在最坏情况下,基本的动态集合操作时间为O(lgn)。关联容器支持通过键来高效地查找和读取元素,两个基本的关联容器是map和set。set仅包含一个键,并有效地支持关于某个键是否存在的查询。map的元素是“键-值”对的二元组形式:键用作元素在map中的索引,而值则表示所存储和读取的数据。set和map类型的对象所包含的元素都具有不同的键。如果需要一个键对应多个实例,则需要使用multimap或multiset类 阅读全文
posted @ 2012-04-01 21:51 skyming 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 学习备忘录:总体分类:标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器: slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。非标准关联容器: hash_set、hash_multiset、hash_map和hash_multimap。list就是数据结构中的双向链表;vector是一种动态数组,是基本数组的类模板;deque是一个double-ended queue,双端队列;因此在实际使用时;如何选择这三个容器中哪一个,应根据你的需要而定,一般应遵循下.. 阅读全文
posted @ 2012-04-01 00:25 skyming 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 记性不好,贴点备忘的吧1、stackstack模板类的定义在<stack>头文件中。stack模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack对象的示例代码如下:stack<int> s1;stack<string> s2;stack的基本操作有:入栈,如例:s.push(x);出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。访问栈顶,如例:s.top()判断栈空,如例:s.empty(),当栈空时,返回true。访问栈中的元素个数,如例: 阅读全文
posted @ 2012-03-31 20:48 skyming 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: 题意理解有误狠狠的把自己骗了,每个牛有K个属性,我理解成选出K中属性的,由于思维定势看看题报告没有发现这个问题。纠结,这几天总犯这种错误。。。Farmer John's有n头cow,共k个属性,每个属性用一位2进制表示。求最长连续的段,满足段里的每个属性出现的次数一样多。sum[][]记录从上之下的和,c[][]记录sum[][]从左到右的差值,把每个牛的各个属性用哈希处理即可,从上向下贪心即可。哈希数值 prime = 99983, 跑了 875MS ,prime =1000000,只跑了250MS 。至于110000 直接 TLE#include <stdio.h>#i 阅读全文
posted @ 2012-03-26 20:35 skyming 阅读(324) 评论(0) 推荐(0) 编辑
摘要: A:字符串处理和 poj 上的一道题很相似,不过很长时间才明白题意,由于处理上的小错误,贡献了1WA。代码~~太丑了见不得人啊。G:简单的贪心题,从前向后贪即可,理解上有误,但是看见A的队越来越多,而且4,5百B,瞬间把小高我俩秒了,自杀啊.F:官方说是用the Pollard Rho算法做的,不是太理解。比赛的时候,由于数据太大,int 型超内存,pc 用char ,把校内的oj 水 了赛后,别的队用哈希做的10^9 --》10^6 ,映射View Code #include<stdio.h>#include<string.h>#define HASHLEN 2000 阅读全文
posted @ 2012-03-25 21:40 skyming 阅读(233) 评论(0) 推荐(0) 编辑