05 2013 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3874题意:给你n个数,然后给出m个的询问[l,r]问[l,r]中不同的数的和为多少?思路:单纯只考虑不同数的和的话,可能该数在之前出现过,后边又出现了,但是所求的区间不包括前边那个数,那么这个数就要被加进来。关键是如何维护该区间不包含重复计算同一个数。首先我们离线处理所有询问,然后按r排序,然后遍历一边处理那些还没被加进线段树的数,如果他之前出现过了,那么就将之前的删除,然后再吧后边的加进来,这样既能保证同一个数只被计算的一次了,而且不影响后边的询问。这里关键是按r排序之后的处理:#include < 阅读全文
posted @ 2013-05-31 17:00 E_star 阅读(245) 评论(0) 推荐(0) 编辑
摘要:bfs+位压缩:hdu 1429http://acm.hdu.edu.cn/showproblem.php?pid=1429中文题目:思路:bfs+位压缩#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CL(arr, val) memset(arr, val, sizeof(arr))#define lc l,m,rt> 1#define Min(x, y) (x) a. 阅读全文
posted @ 2013-05-30 13:49 E_star 阅读(279) 评论(0) 推荐(0) 编辑
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5018题意:有n个学生要选出班长编号从1到n,1号人比较虚荣,想自己当班长,每个人都可以投一票给自己心目中的人但不能投给自己,只要谁的票数最高谁就可以当班长。给出每个人心目中的投票人,以及贿赂每个人所需要的糖果,(只要你给了那个人一定数目的糖果他就会支持你) 。问1号如果当班长的话,最少需要的糖果数。思路:由于这里的n比较小,我们只要枚举1当班长时的得票数x,然后再将其他人的得票数大于x的变为x-1 (减少的给1并且减少的肯定是所需糖果树最少的),然后检查最后1的得票数,如果 阅读全文
posted @ 2013-05-17 21:32 E_star 阅读(673) 评论(0) 推荐(0) 编辑
摘要:勾股数又名毕氏三元数凡是可以构成一个直角三角形三边的一组正整数,称之为勾股数。编辑本段常用套路简介所谓勾股数,一般是指能够构成直角三角形三条边的三个正整数(a,b,c)。即a2+b2=c2,a,b,c∈N又由于,任何一个勾股数组(a,b,c)内的三个数同时乘以一个整数n得到的新数组(na,nb,nc)仍然是勾股数,所以一般我们想找的是a,b,c互质的勾股数组。关于这样的数组,比较常用也比较实用的套路有以下两种:第一套路当a为大于1的奇数2n+1时,b=2n^2+2n, c=2n^2+2n+1。实际上就是把a的平方数拆成两个连续自然数,例如:n=1时(a,b,c)=(3,4,5)n=2时(a,b 阅读全文
posted @ 2013-05-14 09:57 E_star 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:A:给出a,b,c a<= b<=c <=n 求满足a^2 + b^2 = c^2 的个数。 直接暴力枚举过的。。来个优化的假设直角三角形三边为a,b,c; 则a = 2*m*n, b = m*m - n*n, c =m*m + n*n;这样我们只要枚举m,然后再枚举n, 就好了int gcd(int a,int b){ if(a%b == 0) return b; a = a%b; return gcd(b,a);}int main(){ int n; cin>>n; int top = sqrt(1.0*n); int ans = ... 阅读全文
posted @ 2013-05-14 08:26 E_star 阅读(427) 评论(0) 推荐(0) 编辑
摘要:hdu 3634City Planning题意:给出n个矩形的左下角左边(x1,y1)以及右上角的坐标(x2,y2)以及每个矩形的单位面积所具有的的价值,求如何安排矩形的放置顺序是的总价值最大,输出总价值。思路:首先,这些矩形会有重叠的部分,重叠的部分肯定取val值最大的,所以我们首先按照每个矩形的val值排序,然后然后利用当前的矩形去切割前边切割出来的矩形,重叠部分肯定取当前的矩形的val计算,最后求切割出来的矩形的总价值即可。View Code #include <iostream>#include <cstdio>#include <cmath>#in 阅读全文
posted @ 2013-05-10 17:30 E_star 阅读(554) 评论(0) 推荐(0) 编辑
摘要:题意:有n个龙珠,分别存放在编号为1-n的城市里面。然后进行如下操作,T,a,b将a龙珠所在城市的所有龙珠都转移到b龙珠所在的城市,Q,a输出a龙珠所在的城市,以及该城市一共有多少个龙珠,同时输出该龙珠被转移的次数,思路:并查集,前两项比较好像,后一项记录转移次数,我们只需要记录每一个点到达父节点所需的转移次数no[i]然后再路径压缩的时候求一个和,压缩完成后该点的no值就是该点的转移次数了。View Code #include <iostream>#include <cstdio>#include <cmath>#include <vector> 阅读全文
posted @ 2013-05-10 08:50 E_star 阅读(255) 评论(0) 推荐(0) 编辑
摘要:题意:有n个人玩老鹰捉小鸡游戏,每个人都像当老鹰,于是他们决定投票选举,每个人都有一票,不可以投自己。票具有传递性假设A投给了B,B有又给了C则C就会得到两票。求得到票数最多的票数及每个人的编号(0-n-1)思路:其实划一划图就会发现,每个人得到的票数即为能够到达该点点数,中间可能存在环。如果五环的话,我们只要倒着建图,然后找出入度为0的点,搜索他能到达的点的个数即为该点所得到的票数,因为最优值一定在入度为0的点上。 如果存在环的话,我们只需要通过tarjan缩点,改环所能提供的票数为该环内的点数。然后再重新倒着建图就好了。View Code #include <iostream> 阅读全文
posted @ 2013-05-10 08:27 E_star 阅读(252) 评论(0) 推荐(0) 编辑
摘要:"""""""""""""""""""""""""""""""""""""""""""""""""" 阅读全文
posted @ 2013-05-09 08:35 E_star 阅读(244) 评论(0) 推荐(0) 编辑
摘要:一、当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态。SQL> select username,account_status from dba_users;USERNAME ACCOUNT_STATUS--------------------- ------------------MGMT_VIEW OPENSYS OPENSYSTEM OPENDBSNMP OPENSYSMAN OPENDEMO OPENOUTLN EXPIRED & LOCKEDMDSYS EXPIRED & LOCKEDORDSYS EXPIRED 阅读全文
posted @ 2013-05-08 14:55 E_star 阅读(700) 评论(0) 推荐(0) 编辑
摘要:一些成员函数改变对象,一些成员函数不改变对象。例如:int Point::GetY(){ return yVal;} 这个函数被调用时,不改变Point对象,而下面的函数改变Point对象:void Point:: SetPt (int x, int y){ xVal=x; yVal=y;} 为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明:class Point{ public: int GetX() const; int GetY() const; void SetPt (int, int); void OffsetPt (int, in... 阅读全文
posted @ 2013-05-04 21:48 E_star 阅读(382) 评论(0) 推荐(0) 编辑
摘要:250:简单题目:500:题意:给定一个矩形,里面要么是"v"表示,要么是".",v表示可能是g,也可能是d,如果是g的话,那么它的哈弗曼距离dis之内如果是v的话,一定是g。求有多少种满足条件的可能数。思路:将每一个块分出来,自这一联通块里面,所有的v要么是g,要么d,bfs把所有的快求出来,假设为n,则最后的总数为2^n - 1View Code #line 5 "GooseInZooDivTwo.cpp"#include <iostream>#include <cstdio>#include <cm 阅读全文
posted @ 2013-05-04 12:06 E_star 阅读(597) 评论(0) 推荐(0) 编辑
摘要:一张图 说明github适合实用:1.创建一个新的repository:先在github上创建并写好相关名字,描述。$cd ~/hello-world //到hello-world目录$git init //初始化$git add . //把所有文件加入到索引(... 阅读全文
posted @ 2013-05-01 17:21 E_star 阅读(250) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示