自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 AC自动机算法模板

PS:还不是很会,上午刚学,把仅学的一点先记录下来,肯定有错,学会了再来纠正(逃。测试题目:http://acm.hdu.edu.cn/showproblem.php?pid=2222想学自动AC机,忽然发现当初最开始学习时听到的一句话如今真的学到这里了:AC自动机fail树上dfs序建可持久化线段树。嘤AC自动机 = KMP + Trie时间复杂度O((n+m)*L)具体思想,...

2019-07-08 16:46:28 814 2

原创 P1338 末日的传说

题目描述:只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了。在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大。创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加。我们用1-N来表示日历的元素,第一天日...

2019-06-13 15:33:46 140

原创 P1725 【琪露诺】dp-单调队列优化

题目链接:https://www.luogu.org/problemnew/show/P1725看了题后不难想到这个题是个dp,而状态转移方程为dp[i] = max(dp[k]) (k >=i+l && k <= i+r) + a[i]。如果暴力去dp会多了一层(l,r)的循环,可能会超时,所以对区间(l,r)进行优化,用单调队列进行优化。维护区间【l,r】的最大...

2019-06-11 15:39:02 186

原创 C++ string的一些常用函数

#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+10;int main(){ //字符串的插入操作用常用insert string s1 = "abcde"; string s2 = "ABC"; //s1.insert(...

2019-04-23 11:08:33 142

原创 [CodeForces-438D] (线段树 + 单点替换 + 单点取模 + 区间求和)

给一个序列支持3种操作1 u v 对于所有i u<=i<=v,输出a[i]的和2 u v t 对于所有i u<=i<=v a[i]=a[i]%t3 u v 表示a[u]=v(将v赋值给a[u])n,q<=1e5 a[i],t,v<=1e9Input5 51 2 3 4 52 3 5 43 3 51 2 52 1 3 31...

2019-04-22 14:23:18 270

原创 P3373 【模板】线段树 2(区间加法+区间乘法+区间求和取模)

#include <bits/stdc++.h>#define lson l,m,rt << 1#define rson m+1,r,rt << 1|1using namespace std;typedef long long ll;const int maxn = 1e5+10;int mod = 1000;ll sum[maxn <&l...

2019-04-22 14:17:42 372

原创 线段树板子(区间修改)

测试题目:P3372 【模板】线段树 1https://www.luogu.org/problemnew/show/P3372#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include&...

2019-04-22 10:27:25 325

原创 Dijkstra + 邻接表存图 + 优先队列优化

测试板子:https://www.luogu.org/problemnew/show/P3371#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>#incl...

2019-04-16 21:09:22 299

原创 UVA - 11624 [kuangbin带你飞]专题一 简单搜索 I - Fire!

题目链接:https://cn.vjudge.net/problem/UVA-11624题意:人和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。人可以从迷宫的任何一个边界逃离迷宫。无论是人还是火都不会到达有墙的位置。题中说到人只有一个,火有很多,所以无法用正常的搜索来写。因为要判断人走出去的边界,和火的边界无法进行同时入队,所以我们对火进行预处理,让...

2019-04-14 20:50:13 306 3

原创 9X9数独 Poj - 2676 Poj - 2918

题目链接:https://vjudge.net/problem/POJ-2918两道题是一样的,改个输出格式即可。题意很明确,给你一个9X9的数独,让你把他做完。使用DFS暴力剪纸即可。用3个数组,一个标记行,一个标记列,一个标记3*3的小格子。#include<cstdio>#include<cstring>#include<algorithm&g...

2019-04-14 11:10:20 356

原创 贪心 Poj 3069

题目链接:https://cn.vjudge.net/problem/POJ-3617题意: 给定一个字符串 ,利用这个字符串通过不断进行以下任意两种操作,从而构造出一个字典序尽可能小的新字符串。从初始字符串的头部拿走一个字符添加到新字符串的尾部; 从初始字符串的尾部拿走一个字符添加到新字符串的尾部;分析: 我们很容易想到从头和尾分别比较这个字符的大小进行输...

2019-03-29 09:40:52 447

原创 判定一个解是否可行 Poj 1064

题目链接:http://poj.org/problem?id=1064题目大意:给你n段绳子和它们各自的长度,问能从中间找到最长的公共长度是多少?套用二分搜索的模板,我们设最长的长度为x。在区间初始化时r = INF,l = 0。即可。#include<cstdio>#include<cstring>#include<algorithm>#i...

2019-03-29 09:13:18 489 5

原创 二分搜索,最大化最小值 Poj-2456

题目链接:https://vjudge.net/problem/POJ-2456这个题我遇见了3次,3次都不会写。深刻印证了你以为的二分就只是二分。以前单纯的认为,二分就是一个查找一个单调序列中的值是否存在,就是一个lower_bound,后来被自闭3次后,才狠下心学了什么是二分。对于类似的题目,最大化最小值,最小化最大值什么的,我们通常的思想是通过for循环来暴力枚举,时间复...

2019-03-29 08:53:21 228

原创 二分搜索,最大化平均值 Poj-3111

题目链接:https://vjudge.net/problem/POJ-3111题目大意就是给你一堆有价值和重量的珠宝,问你如何挑选能够是最终单位珠宝的价值最大。首先我们的思路肯定是贪心,按照它们的单位价值进行排序,取最大的几个。但是这是错误的。在这组数据中贪心就是错误的k = 2{w,v} = {2,2} , {5,3} ,{2,1}依照贪心的思想我们肯定会选取 {5...

2019-03-29 08:37:33 281

原创 2018级大一新生上机题题解

A.上去揍ta ~_~这道题是比赛第一题,对一些有代码基础的人来说算是比较简单,没有坑点,下面是AC代码#include &lt;stdio.h&gt;#include &lt;string.h&gt;int main(){ char qwq[1001],qaq[1001];//由题可知字符串长度小于1000,习惯原因我这里稍开大一些 int i,numqwq = 0...

2018-11-11 21:04:49 886 2

原创 1010 - C语言程序设计教程(第三版)课后习题5.8

题目描述企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;利润高于100000元,低于200000元(100000&lt;I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;200000&lt;I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;400000&...

2018-11-08 20:16:24 331

原创 3个数求和的多种实现

我用多种方法写一个求三个数的和/*第一种方法不用数组,不用循环*/#include&amp;lt;stdio.h&amp;gt;int main(){ int a,b,c,sum; scanf(&quot;%d&quot;,&amp;amp;a); scanf(&quot;%d&quot;,&amp;amp;b); scanf(&quot;%d&quot;,&amp;amp;c);

2018-10-29 16:36:34 5048

空空如也

空空如也

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

TA关注的人

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