自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小鬼66

No where,now here!

  • 博客(15)
  • 收藏
  • 关注

原创 2016.11.25 错误集锦

NOIP考试错误总结:D1 T1 编号nownow可能是nn的倍数,使得now%n=0now \% n = 0,可以这么写:(now−1)%n+1(now-1)\%n + 1,算出的编号在11 ~n n内。由于操作一次的数字不会超过nn,也可以当now>nnow > n 时 −n-n,当now<=0now<=0 时 +n+n。D2 T2 分析数据范围可以O(n2)O(n^2)拿下前25分,

2016-11-25 14:36:02 454

原创 [ 模板 ] Treap指针版

#include <stdio.h>#include <stdlib.h>struct Treap{ Treap *Lson,*Rson; int val,key,cnt,size; Treap(int num) { Lson = Rson = NULL; val = num; key = rand();

2016-11-25 13:36:00 579

原创 2016.10.20 [ TEST 30 ] 总结

1.1.第二饭堂 Problem: 定义一个长度为nn回文串的价值为kk,当且仅当其长度为n/2n/2的前缀和后缀满足价值为(k-1)的回文串定义。 根据定义,不是回文串的字符串(包括空串)价值为0。 现在给定一个回文串,要求求出其所有前缀的价值和。 例: abacabaabacaba的价值=a(1)+ab(0)+aba(2)+abac(0)+abaca(0)+abacab(0)+aba

2016-10-20 18:26:33 334

原创 [NOIP 2012] 借教室 D2 T2

正解给的是二分。刚做这题一看不是裸线段树吗,结果被卡了OTZ,加读入优化并卡常过的…#include <stdio.h>#include <ctype.h>#define min(a,b) ((a)<(b)?(a):(b))int n,m,room[1000001],x,y,c;struct tree{ int mini,lazy;}node[4000001];char get

2016-10-19 15:48:51 560

原创 [ 模板 ] 线段树区间修改

[NOIP2012] 借教室被卡_ (:3_|<) _ 还是老老实实写正解吧…#include <stdio.h>#include <algorithm>using namespace std;int n,m,room[1000001],x,y,c;struct tree{ int mini,lazy;}node[4000001];void pushup(int rt){

2016-10-18 19:29:19 258 1

原创 2016.10.17 错误集锦

错误集锦_ (:3_|<) _: 1.关于空间计算: 1.1 访问到负数的空间(如f[-1][-1])会出错 1.2 数组大小×1024×1024×数据类型大小(如int则×4)=内存使用 1.3 有一些需要循环使用的数组(例.f[i%n][j]),当i=n或n的倍数时,访问的数组为f[0][j],所以不要忘记给其赋值(f[0][j]=f[n][j]),或改用f[(i

2016-10-17 16:31:09 244

原创 欧拉函数模板

欧拉函数:求小于等于n的数里与n互质(gcd=1)的数的个数。 int euler( int x )//将公式变换形式,根据公式看{ int re = x; for(int i = 2; i * i <= x; i++) { if( !( x % i ) ) { x /= i; re = re

2016-10-17 08:46:46 455

原创 [ 模板 ] 堆优化Dijkstra

#include <stdio.h>#include <string.h>#include <queue>#include <algorithm>#define MAXN 100001using namespace std;struct data{ int len,to,next;}Edge[2*MAXN];int tot,head[MAXN];void Add(int

2016-10-15 21:09:30 560

原创 [NOIP2015] 神奇的幻方 D1 T1

Problem: 按要求填写矩阵。 1. 若(K−1)(K-1)在第一行但不在最后一列,则将KK填在最后一行,(K−1)(K-1)所在列的右一列. 2. 若(K−1)(K-1)在最后一列但不在第一行,则将KK填在第一列,(K−1)(K-1)所在行的上一行. 3. 若(K−1)(K-1)在第一行最后一列,则将KK填在(K−1)(K-1)的正下方. 4. 若(K−1)(K-1)既不在第一行,也

2016-10-14 20:13:11 462

原创 高精度加法(重载运算符)

求A+B(0<=A,B<=10100000)(0<=A,B<=10^{100000}) 高精度加法(重载运算符版),在网上有很多写法,表示不能很清楚的明白其内容,这里给出一份c语言的简单版本,便于学习理解。#include <stdio.h>#include <string.h>#define max(a,b) ((a)>(b)?(a):(b))struct Data{ int a

2016-10-05 00:08:03 1195

原创 高精度加法

求A+B(0<=A,B<=101000000<=A,B<=10^{100000})。#include <stdio.h>#include <string.h>#define max(a,b) ((a)>(b)?(a):(b))char x1[100001],y1[100001];int x[100001],y[100001],z[100001];int len_x,len_y,len_z;

2016-09-28 19:47:58 254

原创 站队(test05)

Problem: 给定一个长度为n的队列,求它是第几种站队方式(从矮到高认为是第一种,从高到矮认为是最后一种) 1<n<1051<n<10^5 100.0000<ai<200.0000100.0000<a_i<200.0000 Solution: 一看就是康托展开,但由于数据范围我们要对其进行优化,在寻找当前元素是第几位时,O(剩余元素个数)O(剩余元素个数)查找很不优雅,自然我们想到用数

2016-09-28 19:37:56 329

原创 康托展开

解决一些序列问题的算法 例如: 已知一个长度为n的数列,数列中每个数大小各不相同且都∈[1,n]∈[1,n]。求该数列为n个数字全排列中字典序由小到大排列的第几个。 算法流程: 我们考虑每一个数对这个数列排名的贡献,不妨假设第一个数为x,则它对这个数列排名的贡献是(比它小的数字个数)∗*(剩余数字可以组成的全排列个数),以此类推将每一个数字的贡献算出并求和,就是

2016-09-26 20:55:46 240

原创 求逆元

我们来看一点清真的东西: <关于逆元> 一. p特别小,b也特别小(即p*b < long long) (a/b)(a/b) mod p=ap = a mod (b∗p)/b;(b*p)/b;二. p为质数 费马小定理 aa^(p−2)(p-2)是a的逆元三. p不为质数 aa^phi(p)phi(p) mod p = 1; aa^phi(

2016-09-26 12:24:34 336 1

原创 开始写博客了w

嘛…本人是一只正在OI中苦苦挣扎的学渣[趴 写一点总结…大佬们求指点 嗯…要学的有好多QAQ 我慢慢来… 慢慢来… [end]

2016-09-26 10:15:00 598

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除