随笔分类 -  ACMer

摘要:sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级。本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法:1、sort入门:使用sort需要包含algorithm头文件,完整代码如下#inclu... 阅读全文
posted @ 2014-07-23 15:29 77695 阅读(66270) 评论(2) 推荐(4)
摘要:真心险啊。。最后3分钟a出来了。。回家再重新提交的时候发现出现re的错误。。换成g++错误消除。。so。。用stl的情况下最好是用g++。。否则你死都不知道是怎么死的。。还好人品。。最后提交的时候是g++。。不然啃爹的罚时类。。还有就是stl中间的vector容器的使用。。这里的题目跟网络赛的还有点不同。。数据大了1。。- -||#include<iostream>#include<vector>using namespace std;const int maxn=1020;vector<int>num;//int num[maxn];//int t;int 阅读全文
posted @ 2012-09-08 22:39 77695 阅读(406) 评论(0) 推荐(0)
摘要:一个月的休息顺利结束了。。昨天到的学校。今天就得开始准备明天在机房的网络赛了。。(貌似过几天以后还有计算机2级。。wtfk!!)好吧我承认我暑假icpc的东西忘的差不多了。。TT。。所以我需要在接下来的一个小时到两个小时内在这篇文章里回想起我暑假21天所学的东西。。时间顺序。。topic1:搜索+dp。除了真正的图的dfs跟bfs有点规律可以寻找外其他的都是没什么规律性的东西。纯碎的靠自己去悟。。悟性啊。。只能无尽的刷题。。刷题。。题。。topic2:图论。。最短路径的spfa。。对于我这种看到证明就头大的。。还是就直接来看看他是怎么使用的吧。。spfa大致思路是这样的。。首先把原点入队。然后 阅读全文
posted @ 2012-09-07 23:40 77695 阅读(327) 评论(0) 推荐(0)
摘要:10天没写代码了啊。,一个这样的搜索写了两小时。。我擦。。搜索部分没什么好说的。。主要就是visited标记位。。申明类型为int。以后每次visited就+1,回溯就-1。。这样就可以避免交叉的问题出现(感谢春哥的方法。)#include<iostream>using namespace std;int map[10][10];int visited[10][10][10];void init(){ memset(visited,0,sizeof(visited));}bool dfs(int num){ int i,j; int k; i=num/9; j=n... 阅读全文
posted @ 2012-08-17 22:21 77695 阅读(618) 评论(0) 推荐(0)
摘要:需要记得开一个数组存储数据以节省查询时间。。输入输出printf,scanf是必须滴。(这一次是数据小)#include<iostream>using namespace std;typedef long long int llint;const llint MAXN=100003;llint tree[MAXN];llint value[MAXN];llint lowbit(llint idx){ return idx & (-idx);}void add(llint pos, llint inc,llint n){ for (llint i = pos; i <= 阅读全文
posted @ 2012-08-04 19:29 77695 阅读(356) 评论(0) 推荐(0)
摘要:1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1、2、3、4、5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY Huffman编码1013 STAMPS 搜索or动态规划1014 Border 模拟题1015 Simple Ar 阅读全文
posted @ 2012-08-02 19:45 77695 阅读(2375) 评论(0) 推荐(1)
摘要:看队友ac了这个。。加上很久没写过深搜了。。手痒了。。遂拿之解闷~~一开始超时。。玩命的超时(这次用的printf了)。。查之发现二逼了代码在已经搜过的位置重复搜了几次。。导致代码目测时间复杂度为o(n!)。。玩命啊。。改之。。wa。。顿时想起以前做过之一题目。。即在搜索过程中搜不成功还得回溯。。遂改方法。。ac~#include<iostream>#include<algorithm>using namespace std;const int MAXM=22;int m;int num[MAXM];bool vis[MAXM];bool cmp(int a,int b 阅读全文
posted @ 2012-08-02 16:24 77695 阅读(2081) 评论(0) 推荐(0)
摘要:题目就是一个大数模版。。但这道题目对输出的的格式要求很高。。它要求在每两个case之间加一个空行。。所以。。见代码把。。用到了大数模版。。见这http://www.cnblogs.com/cj695/archive/2012/07/28/2613678.htmlint main(){ int t; cin>>t; int i=1; for(i=1;i<=t;i++) { bignum a,b; cin>>a>>b; if(i!=1)cout<<endl; cout<<"Case "<<i<& 阅读全文
posted @ 2012-08-02 10:55 77695 阅读(316) 评论(0) 推荐(0)
摘要:依旧没弄懂。。先会用模版再说。。注意讨论(ans==-1)的情况#include<iostream>#define llint long long intusing namespace std;const int MAXM=12;llint exgcd(llint a, llint b, llint &x, llint &y){ if(b == 0){ x = 1, y = 0; return a;} llint r = exgcd(b, a % b, x, y); llint tmp = x; x = y; y = tmp - a/b * y; return r; 阅读全文
posted @ 2012-08-02 10:23 77695 阅读(754) 评论(0) 推荐(0)
摘要:自认为sg函数应该算是博弈论中比较经典的东西了。。他几乎可以解决博弈论中的所有问题。你可以将sg函数看作是一个深搜的的过程。而每一堆的石子就相当于图中间的节点。所以说整个sg函数的过程就是在对一个有向无环图进行dfs的过程。sg函数的具体内容可以用一个公式来表示(虽然我最不喜欢公式,不过我还是得写。不然这没法说清楚):sg(x) =mex{sg(y) : y ∈ F(x)}。其中{}内的是一个集合(只要上过高中都应该知道吧),在:右边的是该集合元素所满足的条件。sg(y)为该元素的值(其实就是一个递归的过程)。重点来了。。mex()函数表示是不在该集合中的最小的非负整数的值。比如mex({1, 阅读全文
posted @ 2012-07-31 21:00 77695 阅读(4312) 评论(2) 推荐(2)