自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yangzijiangac的博客

记录美好生活

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

原创 ACwing字符串乘方(哈希+模拟)

题目链接:思路:哈希一下,然后k块进行判断,从小到大取值即可AC代码:#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;typedef unsigned long long ll;const ll base=13331;ll h[maxn],p[maxn];char s[maxn];...

2020-03-26 12:28:36 227

原创 AcWing 97.约数之和 (约数定理)

题目:约数之和题意:求 A^B的约数之和对9901取模的答案,A,B在[0, 5∗1075*10^75∗107]中,A,B不能同时为0题解:约数之和定理:证明:首先我们可知一个数 A 可以拆分为:A=p1a∗p2b.....∗pncA=p1^a*p2^b.....*pn^cA=p1a∗p2b.....∗pnc ,(ppp 代表质数)则 AAA 的约数个数为 (a+1)∗(b+1...

2020-03-24 22:34:29 323

原创 Bzoj: 2243: [SDOI2011]染色 (树链剖分+线段树合并)

题目连接1:题目连接2:题目:题解:这题其实主要问题是线段树合并,当我们写出线段树合并的代码后,往树链剖分的板子上一套,然后因为树链的查询是分不同的链来写的,所以我们需要在查询答案时候,判断接下的点,与之前连接在一起的点之间的关系,来进行合并,如果颜色相同,合并的数量等于两条链之和-1,反则为两条链之和。主要步骤是写出线段树合并的代码。AC代码:#include<bits...

2020-03-24 10:29:11 141

原创 HDU 1542 扫描线:

用魔改线段树练一练手毕竟刚学会,还不太熟AC代码:#include<bits/stdc++.h>using namespace std;const int maxn=2e5+5;struct line{ double x,y1,y2; int fla;} p[maxn];bool cmp(line a,line b){ return a....

2020-03-17 10:52:24 105

原创 ACwing:1228. 油漆面积 (扫描线:线段树魔改(非离散化))

ACwing:1228. 油漆面积扫描线:对于扫描线,我们可以将线段树改进成真的线段树,进行操作,这样即可避免离散化,还可以避免在找区间的时候找到单点,这样就会很容易了,所以我们可以对线段树进行一波改进例如数据:31 5 10 103 1 20 202 7 15 17我们可以通过一条平行于y轴的线对y坐标进行扫描,首先我们需要对x坐标进行结构体排序,让x坐标分好块,然后对y...

2020-03-16 21:36:54 299

原创 1035: 最大子序列(单调队列小改)

今天上午学了一波单调队列,然后学完单调队列后领悟到了一点小思路,hhh,然后我就在单调队列的基础上进行了改进,仅仅限制了进入队列中的元素个数,然后按照单调性进行去除不断去除,然后输出个数即可。注意1:单调队列,单调栈写这种题一般存的是坐标,这样才能进行新老元素的更换注意2:这题我用线段树也A了,但是注意这道题给了1e6的数据范围,因为题目水了,后台数据只有1e5,所以我们可以用线段树过,但...

2020-03-14 14:55:20 208

原创 单调队列:ACwing滑动窗口

ACwing 滑动窗口:单调对列好久之前就学了,但是一直没有深刻理解,这次又学了一下,感觉理解了点,就写篇博客记录一下。滑动窗口这题是个经典的题,可以用线段树写,但代码量有点大,而且使用空间比较大,如果卡空间的话,显然线段树是过不去的,rmq在洛谷上好像是不能写,倍增的思想可以水过时间,但这题却过不了空间,倍增比线段树的空间大了几倍,所以这题过不去。三种解题代码:Rmq:ACwing ...

2020-03-14 11:59:37 253

原创 1035: 最大子序列 (线段树+缩区间)

题目链接在群里和群友扯淡,遇到这道题,本以为是水题,写了写,有情况没有考虑,发现并不水,有大佬用贪心过了,咱也不太想去想贪心,虽然有呢么个思路,但发现不太稳,没有什么严谨的科学证明,然后发现用线段树缩一下区间就可以,就试着写了一下,然后题目比较水,数据范围给错了,然后就用3倍的线段树给过了题意:求长度为k的序列的最大字典序AC代码:#include<bits/stdc++....

2020-03-11 23:21:45 238

原创 Acwing:混合背包

题目链接:有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。...

2020-03-03 12:11:05 141 1

原创 HDU 2874 Connections between cities (树上倍增 LCA + 并查集 )

Connections between cities:题解:树上倍增LCA处理最近公共祖先,并查集处理不同集合的树,递推距离,但是有一个坑点,这题卡常,卡的要命,所以在处理一个集合的树的时候,需要剪枝,访问过的点,就不需要再访问了,但是一般建树的dfs,访问过的点,可能还会访问一两次。AC代码:#include<bits/stdc++.h>using namespace ...

2020-03-01 20:47:50 229

原创 洛谷:1896 互不侵犯 状压dp

传送门:互不侵犯·题解:我们可以假设dp转移方程为,dp[i[[j][k],这个转移方程的含义代表,第 i 行 第 j 个状态,k 个国王数量的方案数,一直推到第n行放置 所有国王的所有状态的方案数,累加即可。因为互不侵犯,所以我们可以先得到行中满足状态的01串,也就是不能有相邻为1的情况,利用位运算很好解决 ((i>>1)&i) 这样如果有相邻的,那么答案就不会为...

2020-03-01 09:11:07 297

空空如也

空空如也

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

TA关注的人

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