自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线段树区间合并例题 Hotel G 关于pushup操作的理解

然而这是很多题解并没有注意到的,这才是区间合并,中间不可能白白地给你合并,你必须满足中间合并的一个条件才能合并。当且仅当左儿子ri==右儿子li==0 区间才能合并 父节点ans才能取两边加起来的答案。这是一个旅馆,开始时[1,n]这个区间上的房间都没有住人,你需要完成两个操作。如果已知了孩子的ansl,ansr,ans,该怎么去上传给父节点?1.这是一个最经典的一个区间合并的例题,让我们来思考。ans表示:这一段区间连续为0的最大长度。包含左端点的连续区间为0的长度。包含右端点的连续区间为0的长度。

2024-05-14 11:11:55 728

原创 CF276B Little Girl and Game

3:现在如果奇数偶数都有:aabbb,aaabb....可以发现 偶数次的字母不影响 因此可以去除出现过偶数次的字母 统计出现奇数次的字母 再判断奇偶性得出答案。1:不妨先试试全是偶数的时候:比如aaaa,aabb,aabbcc...可以发现 这些都可以重新组合成一个回文串。2:再去试试全是奇数的时候:比如aaa,aaabbb,abcde...可以发现 如果只有奇数次 那么只有一个字母的时候。回文串,与字符的位置,数量都有关系,但是位置在这里可以被忽略掉。如果轮到B,玩家B可以把字符串。

2024-05-10 16:31:11 216

原创 cf240-B-Mashmokh and ACM DP

在一开始,会去想这是一道数学题,似乎得出某个式子便可以得出结果,因此就开始一个一个的去构造尝试,当构造了几个样例后,也许会发现某些结论,比如可以全部是一个数字,然后改变一个数字..例如1 1 1 1 1,我们可能会去改成1 1 1 1 2-> 2 2 2 2 2->2 2 2 2 3 ...仍然很复杂...关于为什么会想到DP,我认为很大取决于经验,因为首先n*k不大,可以是二维数组,第二,dp经常用于最值和次数。那么这道题是否是想让我们在n*k的时间复杂度内解决呢?n表示范围 k表示长度。

2024-05-09 22:51:01 366

原创 年轻人的第一道线段树二分

由此 引出我们的重点。

2024-05-08 23:51:18 451

原创 Can you answer these queries? 线段树

如下是区间修改:他的修改方法是从根节点向下递归,如果遇到一个节点的区间完全被要修改的区间包含就不再往下递归,然后打上懒标记,例如修改[4,9],递归到[4,5]不再向下。上面是拥有懒标记优化的方法,这里我们没有懒标记,只能结合单点修改的方法,递归到叶子节点修改,再回溯修改父节点.因为这里每个节点修改次数只有6次,才可以这么操作。如果[1,3]区间不能再操作,那么区间[1,1],[2,2],[3,3]均等于0 所以tree[p].sum=3。比如[1,1]区间如果不能再操作,那么tree[p].sum=1。

2024-05-03 17:35:02 265

原创 树状数组是怎么求出逆序对的数量的?

答案加等于sum(a[i]-1),比如来到上图的4,查询(1,3)的数量(因为时从后向前 所以这(1,3)一定在4的后面)构成逆序对。比如add(1,1),调用函数时s[1]+1,s[2]+1,s[4]+1,s[8]+1.为什么s[3],s[5]..不加1?从后来每进来一个数字调用add函数维护s[x](表示[x-lowbit(x)+1,x]的和)因为s[x]表示[x-lowbit(x)+1,x]的范围 你这个范围内包含1 才会加1。当遍历到i时,再使用一个for循环从(1->i-1)对于一个数组a[],

2024-04-29 10:29:46 219

原创 codeforces 932B:Informatics in MAC

【代码】codeforces 932B:Informatics in MAC。

2024-04-11 12:09:15 98

原创 CF938Div3(A-F)

买n个酸奶,一次一瓶a元,一次买两瓶可以优惠价b元,也可以a元,问买n瓶需要多少钱.

2024-04-09 12:08:21 369

原创 图论相关内容

【代码】图论相关内容。

2024-03-05 22:03:03 600

原创 ACM寒假训练成果

【代码】ACM寒假训练成果。

2024-03-01 16:30:39 931

原创 abc328(A-D)解题

如果求[L,R]有多少个,只需要算的A[L]+A[L+1]+...A[R-1](注意这里是加到A[R-1]而不是A[R])求[L,R]就表示为A1+A2+A3+...+AL+...+A(R-1)-(A1+A2+A3+...+AL)给你长度为N的字符串和Q个询问,每个询问给出[L,R]问你有多少个s[p]=s[p+1];加一个A数组,如果s[i]==s[i+1],A[i]=1,否则等于0。1:可以发现如果月份是某些月 是不存在的。A[i]表示A[i]是否等于A[i+1]比如12月,13月,14月等。

2024-02-24 16:26:52 428

原创 P1064 金明的预算方案 有依赖的背包

表示q有了一个复件)--->实际上表示item_S_v[q][0] 和 item_S_p[q][0]表达的含义是完全相同的。显然,对于任意一个商品,我们可以选择买和不买,如果选择买,就会有几个分支关于买不买这件商品的附属品。开这样的数组 item_M_v存放主件的价格(重量/体积),item_M_p用来存放主件的价值。例如物品1:100 5 0表示这个物品价格100,根据题意:价值等于价格*重要度,自己是大哥。物品2:50 2 1表示他的大哥是1,如果你想买物品2,就必须先买物品1,这就是依赖.

2024-02-22 00:08:56 642 1

原创 单调队列模板

像下面一样形成(k-1)的窗口 就可以做到窗口向右滑 得到一个答案 窗口向右滑 又得到一个答案。head<=tail 表示队列有元素 a[q[tail]]>=a[i]表示队尾元素小于新的。然后2,因为q最后一个等于2,要弹出队尾,q={3},3比2大,2进,q={3,2}然后2,因为q最后一个大于2,2进队列.q={3,2}定义一个数组q[n]:表示队列.(deque)然后4,4比这几个数字都要大,弹出q={4}k 个连续的数中的最大值和最小值。例如[3,2,2,1,4,2]的。然后1,q={3,2,1}

2024-02-21 11:20:03 388

原创 讲一下01背包,完全背包,多重背包,分组背包

2:拿:保证限制的空间大于等于物品容量:dp[i-1][j - cost[i]] + value[i] 这也就代表着把前面一些物品不拿了,拿的可能是1,2 i。你可能会有这么一个问题:i位置拿还是不拿,肯定拿啊,因为拿了价值就会增加,但是有容量作为限制条件,只能就是。2:拿,但是前面一部分就不能再拿了,因为拿就要给这个物品腾出w[i]的空间。所以是dp[i-1][j-cost[i]]+value[i]这里是dp[2][50]=dp[1][0]+value[i]1:不拿:可能拿的1 2 3 i-1。

2024-02-20 21:50:48 852

原创 P1216 数字三角形解题-简单DP

根据题意我们知道 在每一个点只能向下走 或者右下走。把三角新转换成二维数组(空白的地方自己补一下)比如第四行的7 只能向下走到5 或者右下走到2。输入部分代码:应该很好懂 输入三角型。还可以观察到 第0列 只能由上向下走。以这样的方式从顶走到底 问最大值。这是一道很经典的题目。

2024-01-30 00:31:32 175 1

原创 P1349广义斐波那契数列---矩阵快速幂解析

下面会到P1349 广义斐波那契。所以在此递推式 对于任一项n。

2024-01-23 00:57:59 544 1

原创 矩阵快速幂和矩阵乘法

(1)矩阵乘法的条件:如A*B。则必须 A的列=B的行。

2024-01-23 00:30:04 378 1

原创 Factors of Factorial---求N!的因子数量

的因子个数,绝不可能算出N!约数个数是:(2+1)*(2+1)=9。比如36=2^2*3*2。

2024-01-22 11:23:44 349 1

原创 HDU2504 又见GCD

再写一个求gcd的函数 如果gcd(a,c)==b。所以可以令c=2*b,3*b,4*b总会找到答案。题意:已知gcd(a,c)=b;思路:因为a和c的最大公因数是b。所以a%b=0 c%b=0。gcd函数可以直接背。

2024-01-22 03:24:45 334 1

原创 逃离迷宫HDU-1728

不只 周围的四个加入队列 而是从这个点 向上下左右所有不为障碍物的点加入队列。

2024-01-18 18:27:31 779 2

原创 Sudoku---暴搜解题

dfs(i,j)表示当前是第i行第j列 每次搜索 j++(从左到右) j到边界后 i++ j=0。所以这个空格不能填1,2,3,5,6,9.可以填的数字是4,7,8。然后开始下一个格子的搜索。从(0,0)一直搜,准备一个数组记录一下这一行,这一列,这一个九宫格的数字。题目大意 :填空格 使得每一行 每一列 每一个九宫格都有1-9。如图,来到(0,1)位置,这一行的数字是1,3,5,9,如果j和i都到达边界 输出结果。这个九宫格数字是1,2,3.

2024-01-18 17:08:28 306 3

原创 POJ2251Dungeon Master

注意输入的 map[hang][lie][ceng]

2024-01-18 16:54:48 391 1

原创 Tempter of the Bone---解题

【代码】Tempter of the Bone---解题。

2024-01-18 16:21:00 349 1

原创 HDU-2612解题

题目大意:N*M地图,#表示障碍物,@表示终点(可能有多个),请问Y,M到@最近的是多少。比如Y到@是3,M到@是4,答案就是(3+4)*11 题目的意思。多组输入记得每次while(t--)的时候清空一下数组。思路:用两个BFS,Y到每个@的距离记录一下。我用的一个bfs,用name区分了一下。轮到M时,每到达一个@就计算一下距离。

2024-01-18 16:10:26 816 1

原创 UVA-fire搜索解题

思路:先用BFS算得地图上每一个点F烧过来的时间。然后对J bfs,出迷宫的条件是能到达迷宫的外围又不被火烧。比如算得J两不就能到达迷宫边界,F要3步才烧得过来,就成功逃跑了。问 你出这个迷宫的最短路是多少,如果出不去,输出impossible。一般来说,就输入地图,遇到J,就令startx=i,starty=j;另一个问题是 多个F 你在记录F烧过来得时间 要选小的哪个时间。所以给Fire[][]数组初始化很大,如果是F点-->0。你在一个迷宫,J表示起点,#表示墙,.表示路,F表示火。

2024-01-18 16:00:06 359 1

原创 经典迷宫问题(能否到达终点)-BFS

此时我们的位置是 (a.x,a.y)通过方向数组 -->>(nnx,nny) 这个位置越界 标记过 就continue。通常会有这样一个结构,这道题不需要step,有的题目会问你最短的步数是多少,下面再说。一个标准的模板 :标记开始位置 开始位置入队 当队列不空的时候 取出队列前面的元素。来到下面哪个蓝色块 只能向右 向下 向左越界了 向上的话:额额没有意义。

2024-01-18 15:21:18 808 1

原创 八皇后—DFS(P1219)

我们第一步随便找个位置,然后此行此列对角线都不能放皇后了,从剩下的位置放皇后。现在来到第i行第j列 如果这里没被标记 就在这儿放一个皇后 ans[i]=j 表示第i行 的第j列,把这个j存入ans数组。我们要做的就是这样一个过程,在放置了一个皇后后,标记不能放的位置,然后继续放皇后,如果发现皇后放不满,就倒回去。所以dfs(int i)的i表示我们来到了第几行 搜索这一行从第i行的0列 到第i行的N列。首先输入N表示这个棋盘N*N的,要放N个皇后,很容易知道,每一行都要有一个皇后。

2024-01-18 14:52:30 358 1

原创 HDU-1557权力指数(二进制枚举)

很经典的模拟每一种情况的代码 对于每一种情况 我们用数组来存储着一情况下 1 的票数。接着遍历全部情况 如果某种情况下的得票数大于总票数的一半 这些1就是获胜联盟。很容易可以知道有(1<<n)中情况 枚举每一种情况 可以得到答案。第二个for循环查找此位置是否是1 去掉他是否不再是获胜联盟。预处理这个过程 得到 state 每一种情况下 得到的票数。每个小团体要么是投票 要么不投票(方便理解)如果满足 对应的ans++就行了。可以用二进制来模拟谁投票。比如0111 0000。

2024-01-18 14:31:57 365 1

原创 红与黑-涂色问题

BFS:输入的时候标记一下出发点,从这个点开始bfs,把这个点能延申的所有黑砖标记 记录在vis数组,标记完成后,两个for循环遍历vis数组,ans++

2024-01-18 14:17:05 341 1

原创 POJ-3278Catch That Cow

题目大意:输入两个数N和K,N可以位移到2*N,也可以位移到N-1,N+1。请问N到K的最短的步数。BFS:把开始位置入队,标记。然后 这三种情况只要不越界就入队。如果队首==K 就输出、

2024-01-18 14:10:50 332 2

空空如也

空空如也

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

TA关注的人

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