
NOIP
文章平均质量分 55
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
校门外的树
校门外的树某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端原创 2013-01-04 22:24:05 · 314 阅读 · 0 评论 -
vijosp1697平面几何——带权并查集
一、一些概念 xor:亦或,相同为0,不同为1 or:或,有一个为1则为1 本题中用0代表平行,1代表垂直 way[i]表示i与i的father[i]是垂直还是平行(值为0或1) 题目中读入的平行垂直关系和way[]表示的都是两个直线之间的平行垂直关系,因此都用xor运算 二、并查集的程序段 1、找父亲 function getfather(x:longint):longint;原创 2015-03-01 17:22:07 · 576 阅读 · 0 评论 -
[scoi2005]扫雷
program bzoj1088;var n,i,a1,a2,flag:longint; ans:int64; a,b:array[1..10000]of integer;begin read(n); for i:=1 to n do read(b[i]); for a1:=0 to 1 do//确定前两个即可 for a2:=0 to 1 do begin原创 2015-05-21 19:50:26 · 613 阅读 · 0 评论 -
[noip2010]乌龟棋
要注意读题,他已经在第一个格子,所以每走一步取得是再+1的格子中的数program tt;var n,m,i,b,j,k,l:longint; a:array[0..350]of longint; f:array[-1..40,-1..40,-1..40,-1..40]of longint; c:array[1..4]of longint;function max(原创 2015-07-20 00:38:39 · 604 阅读 · 0 评论 -
vijos1058粘贴文本
发帖来水,这是多年前我认为纯模拟会超时的题。。。然而就这样过了#include #include #include #include using namespace std;int n,k,a,b,c;int t[100000],order[100000];int main(){ cin>>n>>k; for (int i=1;i<=n;i++)原创 2015-08-28 04:20:11 · 414 阅读 · 0 评论 -
51nod1459
spfa只是加上求权值的部分我有傻傻的开小了边数的数组——N^2学会了用queue#include #include #include #include using namespace std;#define INF 0x7fffffffint tmp;struct point{int y,z,next;}edge[250010];int l,n,m,st,ed;in原创 2015-08-28 23:19:43 · 798 阅读 · 0 评论 -
hiho一下第六十周
题目大意:给出两个字符串,求出满足下列条件的最长的公共子序列:①公共子序列连续的部分长度>=3②断开处单调递增分析:看起来好像经典问题最长公共子序列——但是不是。一开始想到直接写转移方程,发现如果前面长度为2,1之类,即使和后面连起来长度大于3了,这种状态也不能被找到;又想到先求最长公共子序列,然后减去小于3 的段,但是发现不仅程序中定位断开部分难写,而且会产生错解。所以接着第一个原创 2015-08-29 00:44:01 · 403 阅读 · 0 评论 -
noip2013truck树上路径倍增
#include #include #include #include #include using namespace std;#define INF 0x7fffffffint n,m,x,y,z,l,s,u,v,q;bool vis[10010];struct point{ int x,y,z;}a[50010];struct node{ int y,z,next;原创 2015-11-07 22:45:43 · 811 阅读 · 0 评论 -
poj2182 Lost Cow
根据题目给出的数列的性质,每次可以求出最后一头牛的编号也就是在当前有的数列1 2 3 .... n 中找到第a[i]+1小的数可以用树状数组或者线段树,记录的是已经删除了的数的个数还有的数的个数为 区间长度-区间记录的数字这个是单调的(不严格),所以可以用二分查找优化然后更新一下就可以了#include #include #include #inclu原创 2016-07-21 14:36:35 · 589 阅读 · 0 评论 -
noip2012国王游戏
program tt;var ans,c,d:array[1..5000]of integer; a,b:array[0..1000]of longint; t,p,x,i,j,n,lc,ld,lans:longint;procedure qsort(x,y:longint);var i,j,mid,t:longint;begin i:=x;j:=y; mid:=a[(原创 2015-02-22 14:14:54 · 1526 阅读 · 0 评论 -
noip2012 借教室
在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(原创 2014-10-20 23:18:06 · 2469 阅读 · 1 评论 -
快速幂算法及注意事项
快速幂 题目:设有x,y两整数,快速求x^y.思想:降低指数,提高底数。分析:若指数为偶数则指数除以二,底数变成原来的平方; 若指数为奇数则在记录最终答案的变量中乘一个底数,指数整除以二,底数仍变为原来的平方。程序:program g;var n,l:longint; ans,x,y:qword;begin read(n);原创 2013-01-23 16:17:13 · 787 阅读 · 0 评论 -
滚动数组新悟
3.3滚动数组不一定非要倒着循环,也可以正着。取决于当前优化后的数组所需要的上一步解位于什么位置。影响到之前的,则只能倒着循环;如果没有影响,可以正着循环。例子:①01背包的一维优化:应为与上一步的之前的状态有关,所以从后向前循环,不改变原来的值。②最小伤害(harm) 问题描述 把儿站在一个 N x N 的方阵中最左上角的格子里。他可以从一个格子走到它右边原创 2013-03-03 22:22:32 · 667 阅读 · 0 评论 -
组合输出(非递归)
非常经典,你值得拥有。program t;var i,j,r,n:longint; a:array[1..30]of longint;begin read(n,r); i:=0; repeat if a[i]-i<=n-r then {判断是否还有数可选} if i=r then begin原创 2013-07-12 17:56:44 · 746 阅读 · 0 评论 -
pascal 指针 讲解
指 针 指针的动态变量 1.定义指针类型 在Turbo Pascal中,指针变量中存放的某个存储单元的地址,即指针变量指向某个存储单元。一个指针变量仅能指向某一种类型的存储单元,这种数据类型是在指针类型的定义中确定的,称为指针类型的基类型。指针类型定义如下: 类型名=^基类型名; 例如:type q=^integer;转载 2014-04-12 21:39:16 · 3721 阅读 · 0 评论 -
tyvj1307 kruskal+并查集 最小生成树
这题一开始没注意数据范围,RE了好几次。。如果规定某些边一定要经过,用kruskal方便地原创 2014-08-07 01:03:35 · 713 阅读 · 0 评论 -
poj1236强连通分量+缩点
一开始脑子秀逗地算出最多边数为2原创 2014-08-31 01:59:05 · 585 阅读 · 0 评论 -
noip2003 传染病防治
题目是给出一棵树(以1为根),每一层原创 2014-10-23 15:57:34 · 1395 阅读 · 0 评论 -
p1848花匠
方法一:动态规划O(n^2)-->O(nlogn)但我不会优化……f[i]表示以iáǎ原创 2014-10-16 21:43:26 · 497 阅读 · 0 评论 -
noip2013火柴排队
最小交换次数即求逆序对。但应当是原创 2014-10-16 21:11:55 · 1714 阅读 · 0 评论 -
poj3264
水一发线段树,顺便复习(骗经验)...宝宝还是想好好走下去^ ^#include #include #include #include using namespace std;#define N 50010int n,q,x,y,m1,m2;int a[N];struct node{ int l,r,m1,m2,num;}tr[N*4];void updata(in原创 2016-07-21 15:09:33 · 444 阅读 · 0 评论