上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 39 下一页
  2014年2月21日
摘要: 点我看题目题意 :建一堵墙粘贴海报,每个候选人只能贴一张海报,海报的高度与墙一样高,一张海报的宽度是整数个单位,墙被划分为若干个部分,每个部分的宽度为一个单位,每张海报完全的覆盖一段连续的墙体,墙体的宽度占整数个单位。因为候选人将海报贴到墙上的时候可能会将别人的覆盖或覆盖一部分,给出海报的大小,选举墙上张贴的位置,和张贴的次序,然后问你最后还能看到几张海报。思路 : 这个墙因为有10000000单位长,而n最大有10000,所以要先进行离散化,但是离散化之前要先将数字存起来,排序之后再将每相邻的两个数之间一个数加入离散的数组,离散化的处理 :先将n张海报的左边界,右边界中间位置存储在数组x里, 阅读全文
posted @ 2014-02-21 19:24 枫、 阅读(272) 评论(0) 推荐(0)
摘要: http://codeforces.com/contest/394话说这次CF做的超级不爽,A题一开始交过了,我就没再管,B题还没看完呢,就死困死困的,后来觉得B题枚举一下估计能行,当时是觉得可以从后往前乘,但是细节什么的都没想好,所以干在纸上画也没写出什么来。没想到我A题竟然忘了一种情况,就是+前就一根的时候,郁闷死我了。A Counting Sticks#include #include #include #include using namespace std ;int main(){ char sh[5200] ; while(~scanf("%s",sh)) { 阅读全文
posted @ 2014-02-21 15:14 枫、 阅读(258) 评论(0) 推荐(0)
摘要: 点我看题目题意 : 大概是说一颗树有n个分岔,然后给你n-1对关系,标明分岔u和分岔v是有边连着的,然后给你两个指令,让你在Q出现的时候按照要求输出。思路 :典型的树状数组。但是因为没有弄好数组,所以要用DFS先映射一下,好吧我承认我说不下去了,六级没过,CF又掉了100多分,脑子完全不转转了。。。。。。#include #include #include using namespace std;const int maxn = 500004 ;int head[maxn],start[maxn] ,num[maxn],data[maxn];int m,n,cnt ,cntt;bool vis 阅读全文
posted @ 2014-02-21 10:09 枫、 阅读(196) 评论(0) 推荐(0)
  2014年2月20日
摘要: 点我看题目题意 :N个数Q条命令,Q a b代表输入Aa,Aa+1, ... ,Ab的和。Cabc代表让你把c加给Aa,Aa+1, ... ,Ab的每一个数。思路 :这个题分类好像不是线段树。。不过我硬是按线段树的方法做了,总觉得和HDU1166和1754差不多,反正要注意数据范围很大不能用int,我还因为用了intWA了一次。反正比平时那些模板的更新啊加减什么的都比较麻烦。#include #include #include using namespace std;const int maxn = 5000004 ;typedef long long LL;struct node{ ... 阅读全文
posted @ 2014-02-20 21:00 枫、 阅读(228) 评论(0) 推荐(0)
摘要: 点我看题目题意 :又是一道中问题,我就不说题意了。。。。思路 : 线段树,这道题跟1166差不多,改一些地方就差不多了。#include #include #include #include using namespace std;const int maxn = 500005 ;int a[maxn] ;int ans ;struct node{ int l,r,value ;} Node[4*maxn] ;void build(int v ,int l,int r){ Node[v].l = l ; Node[v].r = r ; Node[v].value = 0... 阅读全文
posted @ 2014-02-20 19:35 枫、 阅读(205) 评论(0) 推荐(0)
摘要: 点我看题目题意 :HDU的中文题也不常见。。。。这道题我就不详述了。。。。。思路 :这个题用线段树用树状数组都可以,用线段树的时候要注意输入那个地方,输入一个字符串的时候不要紧接着输入两个数字,因为我就是这样贡献了好几个RE。。。。不要用cin,cout,因为也是这样我又贡献了好几个TLE。。。。血... 阅读全文
posted @ 2014-02-20 18:29 枫、 阅读(227) 评论(0) 推荐(0)
摘要: 点我看题目题意 :说实话,看题的时候根本没怎么看懂,每个单词我倒是认识,但是拼一块儿我觉得就有点拗口了,一开始我以为的站右边是以为队伍如果画出来应该是上下的,谁知看了底下的那个样例解释才知道原来队伍时左右的,,,难怪说插到右边呢。。。。大概题意就是,队列中的每个人都被赋一个特定的值,给出所有插队的人及他们插队后他们所站的位置信息,然后输出队列中的人的最终的排列顺序。思路 :首先处理数据,不要从前往后处理,从后往前处理,因为后边的人是会影响前边的人的位置的。用线段树的每个结点记录这个区间中的空位置数,每次插入的时候将这个人放在第pos[i]个空格的地方,因为后边的人如果排在前面人的前面,那么我们 阅读全文
posted @ 2014-02-20 10:52 枫、 阅读(263) 评论(0) 推荐(0)
  2014年2月19日
摘要: 点我看题目题意 : 给你若干个星星,然后给出你每个星星的坐标(按照y递增的顺序给出,若是y相同就按照x递增的顺序给出),定义所谓的星星级别为横纵坐标不超过自己的星星的个数。问级别0到n-1的星星各有多少个。思路 :因为当前的星星与后面的星星没有关系,所以只要把x之前的横坐标加起来就行,树状数组模板题,但是树状数组下标是从1开始的,所以x要加1。#include #include #include using namespace std;const int maxn = 100000 ;int tree[maxn+10] ;//树状数组inline int lowbit(int x)//lowb 阅读全文
posted @ 2014-02-19 20:29 枫、 阅读(155) 评论(0) 推荐(0)
摘要: 题目链接题意 : 给你一个半径为n的圆,圆里边还有圆上都有很多整点,让你找出与圆外的任意一个整点距离等于1的点。思路 :这个题可以用枚举,画个图就发现了,比如说先数第一象限的,往下往右找,还可以找规律,看到神代码就4行,我十分佩服数学学的特别好的人。。。。大神博客地址下边这个是枚举的代码,也很简单。#include#include#includeusing namespace std;#define LL __int64LL dis(LL x,LL y){ return x*x+y*y;}int main(){ LL n; LL i,s; while(~scanf("%... 阅读全文
posted @ 2014-02-19 14:30 枫、 阅读(256) 评论(0) 推荐(0)
  2014年2月18日
摘要: 题目链接题意 : 有一个n*m的矩阵,L个伞兵可能落在某些点上,这些点的坐标已知,需要在某些位置安上一些枪,然后每个枪可以将一行或者一列的伞兵击毙。把这种枪安装到不同行的行首、或者不同列的列首,费用都不同。现在已知把激光枪安装到任意位置的费用,总的花费为这些安装了激光枪的行列花费的乘积。思路 :就是一个最大流问题。Dinic我不会,用的白皮书上的EK算法,嗯,还行,这个建图比较麻烦,就是把行列分开,成为m+n+1个点。嗯,不废话了,还是把大神博客链接弄过来吧,各方面都讲得很详细。#include #include #include #include #include using namespa 阅读全文
posted @ 2014-02-18 20:08 枫、 阅读(246) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 39 下一页