总结
文章平均质量分 74
jiangzh7
这个作者很懒,什么都没留下…
展开
-
【时间效率】C++排序
有这样一道题 heapsort (heapsort.pas/c/cpp) 【问题描述】 堆排序,针对快排,有2组退化数据。 【输入】 第一行1个数n,表示数字的个数 第二行n个数。 【输出】 按升序输出的n个灵敏 【输入输出样例】 输入样例: 3 2 1 3 输入样例: 1 2 3 规模:n=100000,每个数值大小在lon原创 2012-11-06 18:38:25 · 587 阅读 · 0 评论 -
【精】【旋转卡壳】讲的太好了!!!
[Poj 2187]计算几何之凸包(三) {旋转卡壳初步} ============================== 一.简单枚举算法的不足 上一次介绍了一个基本的求平面最远点对的算法 即先求点集的凸包 然后枚举凸包上的点来求最远点集 这是利用了凸包上的点相比 点集中的点 一般是很少的 平均情况很好 并且我们也能AC这个问题 但是这是有局限性的 当凸包上的点达到O(N)的级转载 2013-04-14 09:44:55 · 800 阅读 · 0 评论 -
[总结]c++字符串详解
c++字符串详解(转) 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……转载 2012-11-06 18:40:38 · 499 阅读 · 0 评论 -
【省选】【后缀数组】模板
昨天试着写了一下后缀数组,蛋疼了…… 今天又看了一下LHQ大神的pdf,感触很深 又把代码看了一遍,又理解了一下 把昨天的代码修改了一下,把两个for改成了memset,去掉了一个所谓的wv数组(他用wv数组只是后面可以直接用wv[i]表示x[y[i]]),直接改成嵌套成x[y[i]] 代码模板 【原数组 s 要在最后加上一个 ' $ ' 】 i原创 2013-04-10 08:37:58 · 541 阅读 · 0 评论 -
自己转C++的一些经验
转C++并不难,语法一天就可以搞定,最多两天。至于stl就需要后面多做题,多积累了 先说说Pascal和C++的一些基本语法相同和不同之处 1.基本结构 program test;//这一句可以不要 begin {主程序} end.#include//输入输出头文件 int main() { /*主程序*/ return 0; } 2.声明变量语原创 2012-11-17 14:51:23 · 1359 阅读 · 1 评论 -
【差分约束系统】刚领悟的一点点小分析
刚才做了一道四川省选题,糖果,差分约束 基本是看着别人的程序写出来的,里面有一点在刚才突然领悟了 我们在入边的时候是 inlink(x,y,1) ,注释中也写了,是 x-y 写成通用的就是 inlink(x,y,k) 表示 x-y 令我不解的是为什么 -k 要入成 k 呢? 我们看spfa中的写法 if(dist[node->y]z) {原创 2013-05-01 19:37:50 · 634 阅读 · 0 评论 -
【醒目】!!!!纠正
前几天自己在网上看tarjan算法,然后自己学了一下,然后稳稳当当过了一道poj的题目 直到今天才做题交了几次都没过,我就怀疑是代码写错了 才发现,我居然没有栈内标记! 改了过后就对了。。。。。幸好及时发现了。。。。。 放个tarjan模板 void dfs(int x) { now[x]=low[x]=++dfstime; hash[x]=tru原创 2013-03-05 20:59:20 · 859 阅读 · 0 评论 -
【精】递归sap稍加优化堪比非递归
递归sap稍加优化堪比非递归 先看看递归的sap怎么写 int sap(int x,int flow) { if(x==n) return flow; int res=0; for(int i=1;i<=n;i++) if(g[x][i] && h[x]==h[i]+1) { int t=sap(i,min(g[x][i],flow-res));原创 2013-05-06 21:59:01 · 1411 阅读 · 0 评论 -
【Astar】Astar入门
A星寻路算法介绍 If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for visiting! 这篇blog是由iOS Tutorial Team的成员 Johann Fradj发表的,他目前是一位全职的资深iOS开发工程师。他是Hot Ap转载 2013-05-10 08:12:16 · 8935 阅读 · 0 评论 -
终于发现OJ诡异错误
如果程序里面含有这样一段程序 struct link{int y;link *next;}*head[N]; void inlink(int x,int y) { link *p=new link; p->y=y; p->next=head[x]; head[x]=p; } 如果你交OJ,那么有时候你会CE。。。。。。提示 p 没有定义 第一反应,重名了 所以我把原创 2013-05-13 21:10:33 · 760 阅读 · 0 评论 -
【注意】特别注意 memset !!!
memset是编程之中很常用的,也坑过很多人 头文件#include 这个相信坑过众多人(windows坑人啊。。。。。) 其实多数人都是被上面的所坑,而我今天就惨死下面 今天写 费用流 连续最短路 , 然后为了保险,数组开得有点大,然后每次memset,结果。。。。。 所以说memset的时候一定要看看数组大小啊!!! 其实当时写的时候数组并不大,只有100万原创 2013-05-14 16:42:19 · 974 阅读 · 0 评论 -
在NOIP2013之前
看似沉寂了这么久,其实几个月前就回来了,原因很多,最大的一个原因应该是放不下,说真的,信奥这玩意儿太神奇了,是没有人能够说放弃就放弃的 其实本来什么都不想写的,我想让这个Blog沉寂下去,安静地陪我走完NOIP2013,但是我觉得有必要明确一下我的态度 对于这一次,备战NOIP什么的我想都没想过,可以说我在OI上是失败的,没有一等奖,没有省选,什么都没有…… 但是一次次想放弃原创 2013-08-21 22:22:09 · 1244 阅读 · 0 评论 -
[总结] 阶段性总结 10.18~11.09集训生活
2012年 高二 10.18~11.09 集训总结 出自 CSDN博客Jiangzh By Jiangzh (转载请注明出处) 121019( 70 + 40 + 0 ) 序列 悟空学艺 游览路线 第一题:用到了归并排序的思想,当时不会,直接N2枚举的 http://blog.csdn.net/jiangzh7/article/details/8154463原创 2012-11-06 18:41:30 · 961 阅读 · 0 评论 -
131018总结
131017试题 – 解题报告 A a.cpp/c/pas a.in a.out 1s64MB 求n个数的最小公倍数 输入 第一行一个数n 第二行有n个数,每两个数直接用空格隔开 样例 输入 3 4 5 6 输出 60 数据范围 对于30% n 对于60% 答案小于10^18 对于100% n 首先,思想很简单,分解质原创 2013-10-18 21:56:12 · 1551 阅读 · 0 评论 -
【省选】算法总结——平衡树
<!-- h1.toc-标题-western {margin-top:0.85cm; margin-bottom:0cm; color:rgb(54,95,145); font-family:"Cambria",serif; font-size:14pt; line-height:115%; text-align:left; widows:2; orphans原创 2013-04-11 15:33:34 · 681 阅读 · 0 评论 -
【省选】算法总结——划分树
130404总结——划分树 刚学了划分树,彻底蛋疼了。。。。。。。 怕忘了,先总结一下 注意:本文中第K大是指从小到大排序后的第K个数,如下表 原数组 2 1 3 2 3 排序后 1 2 2 3 3 K=1 1 K=2 2原创 2013-04-04 10:34:35 · 703 阅读 · 0 评论 -
【省选】算法总结——线段树2
130331总结——线段树2 前面总结了一次线段树,基本上讲完了所有的线段树操作 1. 区间修改(懒标记) 2. 插入/修改/删除 元素 3. 查询维护信息 4. 静态维护动态区间 (size) 总之,Operation和MinMax两道题基本上已经包括完了 上次总结基本是操作,这次主要是刚做了两道题,很有起始,所以总结一下线段树维原创 2013-04-02 13:47:17 · 656 阅读 · 0 评论 -
[总结] C字符串常用处理函数
C字符串常用处理函数 C的字符串一直是我很头疼的一个东东,所以自己总结一下 Char* 字符串数组 所有函数都是带入地址,也就是可以指定开始位置 -->strlen() 顾名思义,返回字符串数组的长度,但是它是以O(n)的效率计算的,所以尽量不要写成 for(int i=0;i 这样如果多了的话,时间会大大降低,可以用变量存下来 -->strcpy() 是很常用的了原创 2012-11-06 18:40:28 · 694 阅读 · 0 评论 -
[NOIP注意]NOIP前必须记住的30句话
这是百度贴吧的一篇帖子,我看很好,改了一下,就转过来了 原文主要是说C/C++的,其中一些我把Pascal的也加上了 1.比赛前一天晚上请准备好你的各种证件,事先查好去往考场的路线 2.比赛之前请先调整你的屏幕分辨率到你喜欢的大小 3.比赛之前请把编译器的字体调为你平时惯用的字体,尤其是注意这种字体中的逗号,点,1,l这种易混淆的字是不是区分明显 4.在不影响视野的情况下,请将字号尽转载 2012-11-06 18:41:33 · 659 阅读 · 0 评论 -
[NOIP]自己收集总结的NOIP考纲
首先来一张图,很直观 下面是收集的一些,我改了一下 红色加粗表示特别重要,必须掌握 绿色加粗表示最好掌握,可能性不是很大,但是某些可以提高程序效率 高精度 a.加法 b.减法 c.乘法(应该只会有高精乘单精) d.高精度除单精 (后面c,d考的原创 2012-11-06 18:41:35 · 689 阅读 · 0 评论 -
冲刺NOIP!
今天一过,后天就要动身去成都参加NOIP了。时间过得好快 今天花了一天整理了二十多道题,都是重要算法,也配合了例题,想要的可以下载(有测试数据,cena已配置好) http://download.csdn.net/detail/jiangzh7/4745790 算法大纲 模拟 动态规划 走楼梯 装箱问题 01背包 完全背原创 2012-11-07 20:02:51 · 2386 阅读 · 0 评论 -
[冲刺NOIP]C++ 头文件
今天下午就出发去成都了,明天上战场,先把RP加满~~ 最后确认一次头文件 #include//printf scanf 用 #include //标准库 exit(0),随机数 等用 #include//char*,mem*** 都要用 #include//string类 字符串 #include//算法库 sort,lower_bound,upper_bound,swap原创 2012-11-09 08:10:28 · 1723 阅读 · 1 评论 -
第一次NOIP之旅
本来满怀期待的到了成都,以为这次努力这么久可以拿到一个不错的成绩,结果就这么回来了。。。。 Day 1 第一题,水题,不说了,希望不要WA 第二题,一开始想到了贪心,不过后来不知道怎么自己用数据推翻了,就没有写贪心。完了才听说应该贪a*b,最后就交的朴素深搜+部分贪心+最优化剪枝,预计20分。 第三题,模拟最后没调出来,打的样例 Day 2 第一题,写的朴素+优化。我是如果原创 2012-11-11 18:21:14 · 785 阅读 · 0 评论 -
NOIP之后的感想
NOIP——一个熟悉而又陌生的名字 这算是一篇随笔吧,是这次NOIP的总结,也是自己的一些想法。(文笔不太好,基本上是想到哪写到哪,见谅) 初中一直没有搞过NOIP,也不知道是什么,所以是到了高中才开始的。当时听说我们这一届取消保送,我还多么淡定地对他们说“保送算什么,爱好才重要,高考自己考就是了”,但是以前让我引以为傲的成绩到了MZ却是如此不堪一击,本以为中考只是发挥不原创 2012-11-23 20:11:03 · 995 阅读 · 0 评论 -
Pascal转C++
Pascal转C++练习题 By Jiang 下面是题目,测试数据可以下载 http://download.csdn.net/detail/jiangzh7/4838315 题1之前: 1. 掌握memset用法(头文件cstring) 跟Pascal的fillchar一样,带入三个参数,memset(数组,值,大小),举个例子,将数组a全部原创 2012-12-02 21:57:03 · 998 阅读 · 0 评论 -
【数论】[总结]扩展欧几里德算法
NOIP2012 Day2 T1 的 mod 一题会用到扩展欧几里德,本人理解能力有限,花了两三天终于理解了,这里总结一下 (以下的所有符号以C/C++中的符号为准,特别是 / 在下面的情况下相当于Pascal的div) 欧几里德的辗转相除法 int gcd(int a,int b) { return (b)?gcd(b,a%b):a; } 现在再看这样一原创 2012-12-08 21:47:53 · 1036 阅读 · 0 评论 -
【省选】算法总结——强连通
强连通 强连通这东西我也只写了几回,主要是在我现在看来他除了找环缩点而外好像也没什么用处了 具体不想证明了,放上tarjan代码 void dfs(int x) { now[x]=low[x]=++dfstime; hash[x]=true;st.push(x);inst[x]=true; for(int i原创 2013-03-31 13:57:25 · 566 阅读 · 0 评论 -
【省选】算法总结——线段树
线段树 线段树的操作说实话比较灵活,写法也很多 比如往线段树里面插入一段值为c的区间[a, b] void change(int p,int l,int r,int a,int b,int c) { if(a=r) { val[p]=c; return; } int m=(l+r)>>1; if(a原创 2013-03-31 13:55:58 · 819 阅读 · 0 评论 -
【省选】算法总结——网络流与二分图
网络流与二分图 至于为什么把两类归在一起,原因很简单,他们极为相似! 先说说比较特殊的二分图,再说一般化的网络流 二分图最大匹配 比如这样一个问题,有N头牛和M堆草,告诉你某些牛喜欢某些草,当然那头牛吃掉某堆草后那堆草就没了,问你最多有几头牛能吃到自己喜欢的草 我们连一条A→①的边来表示A牛喜欢①草,那么我们可以发现,牛之间不会有连边,而草之间同样不会有连边 这原创 2013-03-31 13:57:57 · 939 阅读 · 0 评论 -
【省选】算法总结——状压DP
状压DP 状压DP这玩意儿说实话没什么总结的,不过还是要说说 既然是状压,那么就少不了位运算,所以位运算要熟悉 类 型 运算符 含义 位逻辑 运算符 & 按位与 | 按位或 ^ 按位异或 ~ 取反 移位运原创 2013-03-31 13:56:49 · 1449 阅读 · 0 评论 -
Ever or Never
Ever or Never SCOI2013本来是集训一个月的,但是由于地震推迟了,所以,两个月,半个学期,就此“荒废” 上学期停了3周(完全没管文化课),最后剩了两个月时间准备期末考。这次,停课59天,剩下不到一个月时间准备期末考。上次还挺轻松的,但是这次真的没底了。。。。。。 这次真不知道该说什么了,奋斗两个月,像状压dp、划分树、SBT、线段树、后缀数组、KMP、数位dp、Gr原创 2013-05-26 11:29:01 · 2521 阅读 · 3 评论