- 博客(24)
- 问答 (2)
- 收藏
- 关注
原创 【SGU】180. Inversions(归并排序求逆序数)
以前一般用树状数组和线段树做这种题这次换个思路试试,归并排序!#include#include#includeusing namespace std;typedef long long LL;const int maxn = 111111;int n;int array[maxn];int tmp[maxn];LL ans;void my_sort(int l,int
2015-03-31 17:46:41 803
原创 【CF】C. Glass Carving(二分 + 树状数组 + 优先队列 + 数组计数)
这题简直蛋疼死。。。。。A了一下午#include#include#include#includeusing namespace std;typedef long long LL;const int maxn = 200005;int h,w,n;int C1[maxn],C2[maxn];int vis1[maxn] = {0},vis2[maxn] = {0};pr
2015-03-31 17:03:04 756
原创 【SGU】271. Book Pile(双端队列模拟)
一摞书,2个操作,一个操作是在书堆上加一本,第二个将前K个书翻转看别人用Splay树做的,但是可以用双端队列模拟,因为K个书之后的书位置已经定下来了,所以只需要记录在队列头加书还是尾加书#include#include#include#include#include#include#includeusing namespace std;int main(){ int
2015-03-31 13:35:09 1222
原创 【POJ 2970】The lazy programmer(优先队列+贪心)
这题范围不会超long long全用int存就行了贪心的话,每次把一个任务加入到队列,如果不能在指定时间完成就到前面找a最小的一个任务补偿时间,当一个任务完成时间等于0的时候这个任务就不再放回队列#include#include#include#includeusing namespace std;//typedef long long LL;const int maxn =
2015-03-31 11:46:21 1055
原创 【CF】E. Anya and Cubes(双向DFS)
根据题意的话每次递归分3种情况一共最多25个数,时间复杂度为3^25,太大了我们可以分2次求解第一次求一半的结果,也就是25/2 = 12,记录结果之后利用剩余的一半求结果 s-结果 = 之前记录过的结果 就可以时间复杂度降低为 3 ^ (n/2+1)题目链接:http://codeforces.com/contest/525/problem/E#include#incl
2015-03-30 17:39:42 1063
原创 【CF】D. Arthur and Walls(BFS + 贪心)
D题解题思路就是每次检查2X2的方格里是否只有一个‘*’,如果有的话这个*就需要变成‘.’,利用BFS进行遍历,入队的要求是这个点为.一开始将所有的'.'全部加入队列,如果碰到一个'*'变成'.'就入队,判断的时候从4个方向就行判断题目链接:http://codeforces.com/contest/525/problem/D#include#include#include#
2015-03-30 15:54:43 835
原创 165-Stamps【回溯】
回溯给h和k的意思是在k种邮票中选h个邮票基本的连续邮资问题15226160165StampsAcceptedC++0.0622015-03-27 07:21:37#include#include#includeusing namespace std;const int maxn = 2
2015-03-27 15:26:31 696
原创 10125-Sumsets【暴力】
利用n^2的时间枚举所有a[i] + a[j]利用n^2的时间枚举所有a[i] - a[j]之后利用n^2时间一个一个找a[i] - a[j]的值是否存在于a[i] + a[j]中找的时候需要二分查找另外一点就是注意long long的范围以及四个数是集合内不同的四个元素1522263810125SumsetsAccepted
2015-03-26 23:43:21 603
原创 10730-Antiarithmetic?【暴力枚举】
水题求一个序列是否存在3个数按顺序构成等差数列直接枚举等差数列的差值 时间复杂度降到 n * n / 3开pos数组记录每个值得为之楷vis数组记录目前i是否出现过强行AC1522139710730Antiarithmetic?AcceptedC++0.0352015-03-26 12:09:56
2015-03-26 20:46:24 602
原创 10810-Ultra-QuickSort【逆序数、树状数组离散化】
求逆序数的模板题我自己用的是树状数组求得,因为a[i]值最多为999999999,但是最多只有500000个元素,所以需要离散化一下看网上还有别的算法,感觉都差不多,都是nlogn的算法1522117110810Ultra-QuickSortAcceptedC++0.3392015-03-26 11:25:11
2015-03-26 19:28:27 579
原创 10347-Medians【又是公式推导!】
推了半天没推出来,弃疗了 TAT看了题解,这尼玛是什么啊啊啊啊啊啊啊啊啊……(此处虐去2^31 - 1个字)是个公式,记下来就好了#include #include #include #include using namespace std;double area(double x,double y,double z){ double p = (x + y + z)
2015-03-25 17:50:01 695
原创 438 - The Circumference of the Circle【几何】
单纯的是为存模板 QAQ#include#include#include#include#includeusing namespace std;struct Point{ double x,y; Point(double x = 0,double y = 0):x(x),y(y){};};//两点的距离double DistancePoint(Point a,
2015-03-25 17:07:30 572
原创 1267 - Network【狂dfs、模拟】
各种dfs按照LRJ书上的思路写就行了#include#include#include#include#include#include#include#includeusing namespace std;const int maxn = 1111;vectorG[maxn];setis_node;int n,s,k;int fa[maxn];int vis[m
2015-03-25 15:37:07 639
原创 1596 - Bug Hunt【STL】
一道比较简单的STL练习题。开2个map 一个存数组大小,一个map>存数组的元素是否存在以及值输入不存在负数的情况,纯代码题#include#include#include#include#include#include#include#includeusing namespace std;const int maxn = 101;char str[maxn];
2015-03-25 14:46:11 791
原创 814-The Letter Carrier's Rounds【模拟、STL、被坑了】
一道比较水的STL的练习题,被坑的老妈都认不出来了被坑的地方是 在一次输入中 你如果给同一个人多次发邮件,那么只输出一次结果,我了个擦,被坑死了。。还是英语烂,直接跪了跑的比较慢,没做优化#include#include#include#include#include#include#include#include#include#includeusing name
2015-03-24 20:10:43 970
原创 A Plug for UNIX(网络流模板题)
只是单纯的为了存模板 = =!#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int INF = 1111111111;const int maxn = 444;const int maxd = 1111
2015-03-23 15:07:07 629
原创 705 Slash Maze
图的转化,想了N久没想出来,看了题解发现自己其实想的差不多了,但是想多了(ORZ流泪)把图扩大两倍(就是一个斜杠占2个位置)走8个发现,走斜对角的时候需要特判写完一次就AC了#include#include#includeusing namespace std;const int maxn = 80;const int maxd = 222;const int dir[
2015-03-21 17:40:04 644
原创 UVa 294 - Divisors
通过这道题学到了2个知识:1.一个数的质因子一定小于等于这个数的开根2.一个数的因子(约数)数等于 π(各质因子数+1)#include#include#include#includeusing namespace std;const int maxn = 55555;//#define DEBUGint vis[maxn];int prime[maxn];int c
2015-03-18 12:21:30 619 1
原创 1354 Mobile Computing(暴力、二进制枚举、简直无情)
翘了3节课来A这道题,最后还超时了,也是蛮拼的。。没做出来主要一个方面就是不会一个二进制数子集的枚举这里上一下代码:for(int S0 = S; S0; S0 = (S0 - 1) & S){ }这里S0就是S的子集了~!题目的思路就是枚举所有情况,注意记忆化【话说这题学到了不少】#include#include#include#includeus
2015-03-16 16:29:34 876
原创 12124 Assemble【二分】
利用二分枚举所有 品质思路想出来比较好写代码:#include#include#include#include#include#include#includeusing namespace std;const int maxn = 1111;//种类 名称 价格 价格因子int n,b;int cnt;int min_v,max_v;struct Th{
2015-03-15 13:40:41 677
原创 210 - Concurrency Simulator【模拟、双端队列】
没有什么特别的,就是按照题意进行模拟,代码有点长。。。#include#include#include#include#includeusing namespace std;const int maxn = 222;int n,t[10],q;int Value[maxn];/* 1 a = 1 2 print 3 lock 4
2015-03-14 19:06:16 889
原创 11210 - Chinese Mahjong【暴力、模拟、减枝】
模拟题,需要注意2个地方,一个是一种牌只有4张,意外就是 风 牌 和 箭牌 不能组成顺子#include#include#include#includeusing namespace std;const int maxn = 100;int Num[maxn];int Card[20];int _Card[20];int vis[20]; //记录vectorans;
2015-03-11 14:58:32 529
原创 11549 - Calculator Conundrum[暴力]
直接模拟暴力就可以了,利用set判断重复,需要注意的是每一步需要计算出这个数的位数,比较简单#include#include#includeusing namespace std;typedef long long LL;setvis;int main(){ int T; LL mod[20]; mod[0] = 1L; for(int i = 1
2015-03-11 00:20:51 535
原创 【uva】1352-Colored Cubes
#include#include#include#include#include#includeusing namespace std;const int maxn = 30;const int maxd = 8;const int INF = 1111;int n,cnt;char cstr[maxn];mapColorList; //颜色结合int Cub[ma
2015-03-10 14:06:34 407
空空如也
关于JAVA制作桌面挂架的一些问题
2015-01-29
关于wordpress的wp-syntax插件问题
2014-11-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人