自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东隅已逝,桑榆非晚~Loi_MurasameKatana

You're gonna carry the weight.

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

原创 NOIP2010关押罪犯——10.20晚间演说ADA

http://codevs.cn/problem/1069/关押罪犯二分+二分图染色 二分最小值,染色判断是否可行#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int n,m,ru,rv,rw,tot,s,ans;int

2017-10-11 07:46:00 359

原创 MySQL基本操作

左外连接,websites别名w,access_log表别名a,显示w表与a表中,w中的id=a表中site_id对应的记录的name字段。avg(sal) 起别名为 aa,当sal存在时按country分组aa>1500的显示。字段(列)名:id,类型:int,默认空间11,约束条件:不为空,自增。name,char,不为空,默认值:空,注释:站点名称。显示表中记录的 唯一的 country字段。从websites表中删除id为5的记录。将id为3的记录中sal改为null。显示表中所有记录(不限字段)

2023-03-20 21:41:22 81 1

原创 Tarjin算法求桥和割点模板

定义 存在于无向图中。 割点:删除此点使得图中连通块数量增加。 桥(割边):删除此边使得图中连通块数量增加——割点于割点之间的直接连边为桥。 判断割点方法: 1.u为树根,且u有多于一个子树。 2.u不为树根,且存在(u,v)为树枝边(或称父子边,即u为v在搜索树中的父亲),使得dfn(u)<=low(v)。 也就是u的子树中的v点无法到达u之前的点,所以去掉u点就是两个连通分支,所以

2017-11-09 11:27:41 583

原创 Codevs 2822 爱在心中

http://codevs.cn/problem/2822/ 思路 Tarjin算法找出图中所有的节点数>1的环即爱心天使,将每个爱心天使缩成一个点,重新建图,在新图中找到一个入度为0的点(至多一个),只有此点可能被所有人爱。 那么我们在建图的时候反向建边,看此点能否走到其他所有点即可。 代码 #include<iostream>#include<cstdio>#include<algor

2017-11-09 11:18:23 404

原创 Codevs 2173 忠诚

http://codevs.cn/problem/2173/ ST表 代码 #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int n,m,a,b,minx;int num[100010],d[100010][20];v

2017-11-09 11:03:26 250

原创 Codevs 2370 小机房的树

http://codevs.cn/problem/2370/ 倍增LCA版本代码 #include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;int n,m,u,v,c,tot;int next[50001*2],first[5000

2017-11-09 11:01:41 271

原创 NOIP知识汇总及模板整理

排序求逆序对NOIP2013火柴排队 洛谷 P2309 loidc 卖卖萌二分牢记二分姿势前缀和及差分优化NOIP2012借教室差分优化贪心洛谷 P3093 牛奶调度 HDU 5500 Reorder the Books Codevs 1615 数据备份高精度高精加减乘模板最短路,最小生成树及拓扑排序最短路,最小生成树及拓扑排序模板第K短路Dijkstra版本 A*模板分层图最短路分层图最短

2017-11-09 10:25:03 1138

原创 洛谷 P2309 loidc 卖卖萌

https://www.luogu.org/problemnew/show/P2309 思路 求一下前缀和,如有Si-Sj>0,即Si>Sj 则j+1到i的子段和>0 ans = 正序对个数+0到i的子段和中>0的个数即前缀和>0的个数 代码 #include<iostream>#include<cstdio>#include<algorithm>#include<cstring

2017-11-09 08:20:37 347

原创 动态规划经典模型整理

最长上升子序列:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;cmath&gt;using namespace std;int n,ans=1;int sequence[10000],f[10000];int main(){ scanf(&quot;%d&quot;,&amp;n

2017-11-09 00:35:52 2237

原创 考试注意事项

NOIP2017复赛考试时间,11月11,12日,也就是大后天。 出发时间:11月10日早8:30,记得带身份证。 考试注意事项:1.来着学长的教导: 在NOIP前一天试机的时候,记得将键盘上的每一个键都按一遍,确保能用并且好用,键盘鼠标等硬件设备的问题尽量在考试之前解决。 监考老师你你和校方沟通的唯一渠道,切记利用。他还有最重要的一个用途 检查文件存放格式!在交卷之前,一定一定要让他帮你看看

2017-11-08 21:45:09 895

原创 洛谷 P3093 牛奶调度Milk Scheduling

https://www.luogu.org/problemnew/show/3093 思路 详见代码注释 代码 #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>using namespace std;int n,maxn,now,an

2017-11-08 20:36:04 418

原创 HDU 5500 Reorder the Books

http://acm.hdu.edu.cn/showproblem.php?pid=5500 代码 #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int t,n,ans,maxn,pos;int num[1000010];

2017-11-08 20:34:19 201

原创 2017.11.8NOIP模拟赛

Problem 1 :洗澡问题描述 你是能看到第一题的 friends 呢。——hja 洗澡的地方, 有一段括号序列,将一个括号修改一次需要1的代价(将左括号变成右括号或者相反),求最小代价使得括号序列合法。 输入格式 一行一个括号序列。 输出格式 一行一个整数代表答案。 样例输入 ())( 样例输出 2 数据范围与规定 对于50%的数据, 括号序列长度不超过100。 对于100%的

2017-11-08 16:32:01 562

原创 2017.11.5与章丘四中互测莱芜试题

题目背景(后来临时补的)比较长我就不粘了。 Problem 1 :第一题题目描述 一个序列上共有 n 个点,两两之间形成一条线段,任意选择其中 k 条线段,使得这 k 条线段的长度和最小(k 条线段端点不能重合)。 输入格式 第一行两个整数 n k 接下来 n 行每行一个整数表示每个点在序列上的坐标。 输出格式 一行一个整数表示这个最小的和。 样例输入 5 2 1 3 4 6

2017-11-08 15:05:00 394

原创 Codevs1615数据备份

http://codevs.cn/problem/1615/ 思路: 方案一:O(n*k)的DP…只能得部分分。 首先我们知道,只选择相邻的点构成线段,答案一定不会变差。 因为若选择跨点连线,我们必然可以用其中相邻点构成的连线代替,且使得权值更小。 那么我们就只考虑相邻点构成的线段如何选取。 我们设dp[i][j][1/0]前i条线段选了j条线段是否选择当前线段(包括在j内) 每次用

2017-11-07 21:30:44 251

原创 分层图最短路问题简析

分层图最短路,就是在分层图上解决最短路问题。 一般解决方法是多开一维记录状态,多开的维度记录状态的种类数即为分层数。 基本模型:在图上,有k次机会可以直接通过一条边而不计算边权,问起点与终点之间的最短路径。 例题:Bzoj 2763 飞行路线 http://www.lydsy.com/JudgeOnline/problem.php?id=2763 思路 我们设置dis[i][k]表...

2017-11-07 12:06:39 4096 1

原创 2017.11.6与章丘四中互测章丘试题

首先感谢章丘四中的同学精心准备了这套题并在考试结束后进行了细致讲解。 不过由于你们的题目背景太长了就不放在这里了。Problem 1 :谜团题目描述 谜团,是夜魇军团一名强大的战士。他来自远古,是一种不可思议的重力生命体,是来自原始黑暗的扭曲声音,在宇宙中的第一丝光线诞生前就存在的深渊化身。他能动用深渊之力将生物的身体污染,使之转化为自身的碎片“虚灵”。“虚灵”为谜团所控,拥有一定的战斗力。更为恐

2017-11-06 21:16:14 534

原创 STL及各种技巧

数据生成: #include#include#include#includeusing namespace std;int main(){ srand(time(0)); int n=rand()%100+1; printf("%d\n",n); for(int i=1;i<=n;i++) { int a=rand()%10

2017-11-05 07:01:37 451

原创 数论知识整理

最大公因数gcd和最小公倍数lcm:代码ll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b);}ll lcm(ll a,ll b){ //return a*b/gcd(a,b); return a/gcd(a,b)*b;//防止a*b炸ll }扩展欧几里得算法exgcd:代码ll exgcd(ll a,ll b,ll &x,ll &

2017-11-04 09:22:16 693

原创 洛谷P2898haybale猜测Haybale Guessing

https://www.luogu.org/problemnew/show/2898思路 显然,若按照题目给定的顺序处理,判断过程将异常麻烦…. 但仔细分析题目后发现,本题对矛盾的产生有着诸多限制在。 那么我们可以考虑,对于矛盾的情况下一个统一定义。 对于本题,则为“若某一确定了最小值的区间,被一个或多个最小值比他大的区间完全覆盖,那么此时的情况就是矛盾的。”—— 注意适当的将此种方法扩展到

2017-11-04 08:31:46 368

原创 2017.11.3测试

Problem 1 :第二题【题目描述】 给你两个日期,问这两个日期差了多少毫秒。【输入格式】 两行,每行一个日期,日期格式保证为“YYYY-MM-DD hh:mm:ss”这种形式。第二个日期时间一定比第一个日期时间要大两个日期的年份一定都是 21 世纪的年份。【输出格式】 一行一个整数代表毫秒数。【样例输入 1】 2000-01-01 00:00:00 2000-01-01 00:00:

2017-11-04 07:29:00 327

原创 Codevs1191数轴染色

http://codevs.cn/problem/1191/思路 方法一:线段树 显然线段树可以很方便的维护区间内黑色点的数量,我们在每次染色之前求一下染色区间内黑色点的个数,即为此次染色后将要减少的黑色点的个数,用当前总个数作差即为答案。染色过程当然也为线段树的区间修改。线段树代码#include<iostream>#include<cstdio>#include<algorithm>#

2017-11-02 19:55:21 411 1

原创 Codevs1228苹果树

http://codevs.cn/problem/1228/思路 这个题咋一看就会想到树链剖分,但事实上,我们只需要将树链剖分中,由DFS序确定树上节点在数据结构中的对应位置的方法提取出来。用每个点的DFS序,及以此点为根节点的子树中最大的DFS序确定每个子树的范围,用数据结构维护其区间和即可。 我们需要知道: DFS序主要用于处理子树问题。 而树链剖分则主要用于处理树上两点间问题。线段树代

2017-11-02 19:34:46 307

原创 Codevs2461反质数

http://codevs.cn/problem/2461/Codevs2912,洛谷P1463与此题完全相同…. 虽然分别是06浙江07河南和05山东的省队选拔赛题目….. 注意题目有问题..是求最小的反质数。思路 首先要明确一个结论: 某一个数的因子数 = 组成这个数的各质因子数的次数+1的乘积。可以由唯一分解定理和乘法原理得到。 这是我们统计因子数的计算式。 那么我们就将一个反质数

2017-11-02 19:19:12 178

原创 Codevs2604舞会邀请

http://codevs.cn/problem/2604/按可扩展的节点数从大到小选取,直到通知到所有点为止…这个数据范围怎样花式做都可以啦~代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int n,ans,tmp,to

2017-11-02 18:53:29 198

原创 Codevs1332上白泽慧音

http://codevs.cn/problem/1332/ Tarjin裸题卡输出…代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int n,m,ru,rv,rw,tot,cnt,num,p,maxn;int fir

2017-11-02 18:49:48 238

原创 2017.11.1清北测试

Problem 1 :立方数Time Limit:1000ms Memory Limit:128MB题目描述LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。 现在给定一个数P,LYK想要知道这个数是不是立方数。 当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~输入格式 第一行一个数T,表示

2017-11-01 16:49:48 582

原创 快速幂模板及应用

实现原理: a^b mod c = ((a^2)^b/2)mod c,b为偶数, a^b mod c = ((a^2)^b/2 * a)mod c,b为奇数。代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<ctime>using namespace std;typedef

2017-11-01 12:59:31 240

原创 背包问题整理

准确一点说是对背包九讲的学习笔记 …思想和方法:在学习过程中了解的求解DP问题的思想,以及部分细节方法1.DP初始化为一已知的合法解 2.滚动数组优化 3.”拆分物品”的思想和方法 4.当发现由熟悉的动态规划题目变形得来的题目时,在原来的状态中加一维以满足新的限制是一种比较通用的方法01背包问题: 有N件物品和一个容量为V的背包,第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入

2017-10-31 21:17:09 295

原创 Codevs2491玉蟾宫

http://codevs.cn/problem/2491/ 求最大子矩形面积,方法很多。 首先介绍一个cgold的O(n^3)暴力做法: http://blog.csdn.net/qq_36312502/article/details/77334624 除此之外这里还收集了三种方法,但首先要明确如下几点:本题的统计思路:分别计算以每一行为底所能得到的最大子矩形面积 。 无论什么方法,我们

2017-10-31 20:09:06 243

原创 2017.10.30清北学堂测试

Problem 1 :a 【思路】 不得不说本题正解还是比较难以理解的,还请仔细阅读推算。 (a * b)| x 意为(a * b)整除x,这里a,b限制条件为1x整除(a * b)的答案数相同。对于30%的数据,O(n^3)暴力: 枚举a,b,和1-n,判断是否存在一个c使得x整除(a * b)对于60%的数据,O(n^2)暴力:——这是正解的基础 我们设a * b *

2017-10-30 20:09:15 561

原创 NOIP2013货车运输

http://codevs.cn/problem/3287/ 方法一,二之后会补上的~方法三:按秩合并+并查集树结构上暴力查询时间复杂度O(mlogn)先放三张图片,作为对代码的解释 1.此处为样例按秩合并后的树形 2.按秩合并降低树高——还要合并到同一根节点 3. ask_min(6,7)—3对取min得到的答案无影响 思路 第三种方法比较难以理解——但却是理解按秩合并的好

2017-10-29 17:28:11 420

原创 Codevs1074食物链

http://codevs.cn/problem/1074/ 加权并查集/扩展域并查集的经典题目方案一:加权并查集思路 我们设rank[i]记录记录i到其father的关系(或言距离),有0,1,2三种表示同类,吃与被吃 ,然后注意在路径压缩时维护此关系,当新得到的两只动物的关系已经被确定是判断此时关系是否矛盾,合并时确定新增关系(u与v)。 一定要注意:食物链为环状结构。 在这里解释两处对

2017-10-28 10:52:14 263

原创 欧几里得及扩展欧几里得算法详解

欧几里得算法 有两个数 a b,现在,我们要求 a b 的最大公约数,有欧几里得算法: gcd(a,b) = gcd(b,a%b) 若b>a,则第一步先完成了交换,再开始了求最大公约数的过程。 代码: 为什么要在b = 0时回溯呢? 对于两个数a b,显然在辗转相除的过程中一定会得到一个状态一个数非0,一个数为0。 简单的证明: 上图为欧几里得算法分部过程。 观察最后的a%

2017-10-27 07:05:20 455

原创 2017.10.24队内互测——压轴出场的互测终曲|(*_-)

出题人: Sherlock, Frank, WWQ, MurasameKatana 终于到了我们组出题啦. 题面都是我自己写的2333Problem 1 :令咒题目来源:http://codevs.cn/problem/3286/题目描述当你终于打通 Codevs 钻石天梯, 成为一名 Master 后。在 11 月 11 日这一天,响应万能的评测机的召唤, 加入了恢弘的魔术师战争中。 但评测

2017-10-26 20:11:16 383

原创 NOIP2013火柴排队

http://codevs.cn/problem/3286/ 思路 首先易知,当a,b两串都进行过排序后,各对应位置的差值平方之和最小。 简单证明: 设序列只有两个数分别是a,b;c,d;且a &lt; b;c &lt; d 设S1=(a-c)^2+(b-d)^2,S2=(a-d)^2+(b-c)^2, S1-S2=2ad+2bc-2ac-2bd=2a(d-c)+2b(c-d)=2(c...

2017-10-26 19:26:04 376

原创 A*模板

求第k短路。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>using namespace std;const int INF = 1e9+7;int n,m,ts,te,k,tot1,tot2,ru,rv,rw;int first

2017-10-26 07:35:11 448

原创 2017.10.22队内互测——Loi水题汇总

出题人:Alicebuju,cgold,Leporidae 话说天下大事分久必合合久必分,今天下又三分,为了避 免生灵涂炭蜀、吴、魏三国决定用考试的方式决定霸主的 地位。汉献帝刘协不甘被曹操囚禁暗中派人偷偷混入考场 企图赢得霸主地位。而蜀、吴、魏三国君主也都是雄才大 略之辈,暗地里搜寻能人异士替他们作弊,于是一场没有 硝烟的战争正悄悄展开……Problem 1 :题目来源:http://

2017-10-24 19:00:46 316

原创 OI知识总结表

———— ————

2017-10-24 18:36:41 283

原创 KMP模板

https://www.luogu.org/problem/lists?name=3375洛谷P3375KMP字符串匹配 这个算法真是精妙~#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int len1,len2,tot;

2017-10-24 17:27:42 203

空空如也

空空如也

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

TA关注的人

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