- 博客(16)
- 收藏
- 关注
原创 自勉
作为一只生于大浙江的蒟蒻,初中时开始接触OI,在这之前,从来没想过自己有一天能理直气壮的在机房搞这样一门帅气的竞赛,最初是因为好奇,也因为觉得是玩玩电脑就入了坑,后来就真正爱上了OI,曾经有人和我说,OI和文化课不矛盾,我也一直坚信,但是后来由于自己浪的太嗨,文化课成绩还是跌了,但是我知道,这并不是因为OI,到了高中,我们的任课老师似乎总是对信息学竞赛抱有偏见,当然,也和我们略难堪的文化课成绩有直
2016-11-02 22:15:14 561 1
原创 POJ3368 Frequent values
题目链接:http://poj.org/problem?id=3368 RMQ,求的是在一个非降序列中任意区间[L,R]中同一个数出现最多的次数 在正常RMQ的基础上对于两端和中部分别特殊处理 贴代码 var n,Q:longint; a,right,left:array[0..100005]of longint; f:array[0..100005,0.
2016-11-14 16:03:09 271
原创 POJ3264 Balanced Lineup
题目链接:http://poj.org/problem?id=3264 RMQ裸题 贴代码 var n,Q:longint; fmax,fmin:array[0..50005,0..20]of longint; function min(x,y:longint):longint; begin if x<y then exit(x) else exit(y);
2016-11-14 14:53:03 211
原创 POJ2299 Ultra-QuickSort
题目链接:http://poj.org/problem?id=2299 树状数组求逆序对,要先离散 贴代码 var a,b,c,id:array[0..500005]of longint; n:longint; ans:int64; procedure swap(var x,y:longint); var t:longint; begin
2016-11-14 12:37:50 217
原创 POJ3321 Apple Tree
题目链接:http://poj.org/problem?id=3321 树状数组裸题,对于每个时间点,设置两个时间戳,分别记录dfs时的进栈时间和出栈时间,前缀和做差就是子数中被标记的个数 贴代码#include#includeusing namespace std;const int maxn=100005;int c[maxn],inn[maxn],oun[maxn],
2016-11-14 11:36:34 185
原创 POJ2481 Cows
题目链接:http://poj.org/problem?id=2481 树状数组裸题,求的是把线段i包含的线段有几条,可以有1个端点重合,但是不可以两个端点都重合,注意判重就好 贴代码 const maxn=100005; var a,b,c,id,ans:array[0..maxn]of longint; n:longint; procedure swap(var
2016-11-14 09:09:09 273
原创 POJ2352 Stars
题目链接:http://poj.org/problem?id=2352 树状数组裸题,求的是前k个数中X≤Xk且Y≤Yk的数对个数恰好为i的k有多少个 贴代码#include#includeusing namespace std;const int maxn=32005;int c[32005],f[15005],n;int lowbit(int x){ return
2016-11-13 22:42:39 200
原创 query
题目描述:T组数据,对于每组数据,n个数ai,Q个询问(L,R,h),询问L到R区间内≤h的数的个数 数据范围:30% n,Q≤10^3 100% T≤10 n,Q≤10^5 1≤L≤R≤n 0≤ai,h≤10^9 暴力枚举肯定是能过30%的点 对于100%的点,有一种离线做法是按照a,h把数组和询问分别排序,再用树状数组,
2016-11-13 16:39:30 370
原创 关于数字的爆炸
好像已经不是第一次发生同样的事了,我一本正经理直气壮地说题目并没有打错,然后我那个神犇学(er)长(zi)就往代码上一指,说你这个地方不就爆了吗,特别尴尬。 大概总结一下,关于计算过程中数字上会出现的问题,撇去算错==,大致就是溢出和精度的问题。 精度的问题有一种很明显,就是最终存储某个值的变量,比如说答案最后是超过int/longint范围的,那么存答案的变量就要想到开long lo
2016-11-09 22:45:55 1430
原创 堆的应用
一道堆的题目 题目描述就是有一个m行n列的数字矩阵,现在要求每行找一个数构成一个新的数列,根据排列组合的原理可知,有n^m个数列,需要找出数列加和前n小的数并输出。 数据范围:0<m≤100 ,0<n≤4000, 矩阵中的正整数均不超过10000。 之前有一道堆的比较经典的题目是给出两个长度为n的序列A和B,两个序列中个取一个数相加得到一个新数,有n*n种取法,总共得到了n*n个
2016-11-07 23:04:23 675
原创 有向无环图最长路
是昨天校内测的一题,听说也是cf上的一道原题,题意大致是说,有一个N*M的矩阵每个位置都有有一个正整数,需要你在保持每个数在其所在行列大小关系不变的情况下把图的的数缩小,并且每个数仍旧是正整数,问最小的图是长啥样的。 数据范围 0≤Aij≤10^9 0≤N*M≤10^6 很明显这是一个有向无环图的最长路问题,讲道理就是拓扑排序,然而那时候有点犯浑,写好之后出了小问题,愣是写了sp
2016-11-07 18:30:16 1216
原创 最长路问题
今天校内测,有一道有向无环图的最长路,然后脑子发热交了spfa的,被学长思想教育了一番,学长说有向无环图最长路拓扑排序肯定是比spfa优的,然后就很傻地说我做过一题spfa更优,后来回去翻到了题,发现那是个无向图,妥妥地实力打脸。 题目描述大概是讲一群小孩分糖果,开始糖果在一个人手里,第一秒开始手上有糖的人美秒把糖分给周围的人,每个人拿到糖后都用同样C的时间吃糖(吃糖和发糖是可以同时进行的)
2016-11-06 22:51:16 948 2
原创 一道黑人的题
前段时间校内测,出了一套水题,黑了俩学长,也学到了很多 其中一道题大致题意是这样的:在一个N*N的带权网格图中,找一条从左上角到右下角的路径(可以重复走),使路径上权值的最大值和最小值的差最小,求这个最小值,其中N≤100,点权≤3000 这是很久之前做的一道题的加强版,原题N≤100,点权≤110,最初做这题时,还是个没参加过NOIP的渣渣,连枚举答案+验证连通都想不到,那时候标算是
2016-11-02 22:48:54 1044
原创 BZOJ1179: 【APIO2009】Atm
事先声明:由于对博客搬家弃疗,所以手动把原本自己在其他博客上写的转过来,文末时间不作改动,只是简单粗暴的COPY【题目描述】Siruseri 城中的道路都是单向的。不同的道路由路口连接。按照法律的规定,在每个路口都设立了一个Siruseri 银行的ATM 取款机。令人奇怪的是,Siruseri的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。Banditji 计划实施Sirus
2016-11-02 22:23:42 447
原创 关于Catalan数
事先声明:由于对博客搬家弃疗,所以手动把原本自己在其他博客上写的转过来,文末时间不作改动,只是简单粗暴的COPY仍然是数学卡特兰数是一个非常神奇的东西序列长这样↓1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786……(从第零项开始)通常比较常用的应该是递推式和组合数的求法递推式:
2016-11-02 17:24:05 389
原创 错排递推式推导
事先声明:由于对博客搬家弃疗,所以手动把原本自己在其他博客上写的转过来,文末时间不作改动,只是简单粗暴的COPY今天听课讲容斥,提到错排,突然发现错排公式什么的好像已经忘了233努力地回忆了一下,算出前几项,终于还原出了那个递推式↓f(n)=(n-1)*(f(n-1)+f(n-2))根据人赢的教导,只要思(yi)考(yin)下错排的构造就能记住了然后就认
2016-11-02 13:27:22 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人