自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

原创 ZQC的游戏 题解

这题题意描述不是很清楚啊,所以我找了个有权限的人把题面改了改,应该还是比较清楚了。感觉这道题挺妙的,就来写一篇题解。

2023-07-25 16:47:57 1207

原创 基环树学习笔记

只因环树学习笔只因。如有错误欢迎指出。

2023-07-10 21:31:16 696

原创 当球碰到盒子

读完题目,发现与第三题仍然很像,只不过盒子从相同变成了不同,所以我们直接在最后乘上。可以发现,此题与上题的不同之处在于它允许有空盒子。个板子当做空球放进去,即只装一个样,而非真正的球。现在我们开始进入著名的盒子与球问题,来练一练你的排列组合能力。个球,有两种情况:单独拿一个盒子装或者随便挑一个盒子放进去。特殊情况:当只有一个盒子或球数等于盒子数时,答案为。我们可以这样看这个问题:对于每一个球,我们都有。为了保证没有空盒,我们先往每一个盒子里放一个球。剩下的我们想第四题一样思考,枚举使用盒子数量。

2023-07-09 14:19:03 234

原创 周赛6总结

T2 真的心态搞炸了,一开始想的做法是正确的,但是没有过大样例,就开始怀疑自己,结果浪费了一个小时打了个错误的解,等我反应过来,又浪费了很长时间才把这道题大样例过掉。T4 想了很久,但因为自己习惯不好,没有草稿纸,毛个式子都没推出来,还白白浪费了时间,继续加强思维吧!T5 差分约束板板题,但是脑抽了,最后的起点应该是取小的,根本没有意识到这个问题,直接当场寄了。不然一慌就会各种失去水准。T6 点双板板题,结果没时间做了,加之心态也炸,想都没怎么想。T1 水题,随便推个式子就出来了,十多分钟搞定。

2023-07-08 19:54:31 187

原创 [分块] P3380 【模板】二逼平衡树(树套树)题解

题目传送门前置知识:分块,二分。虽然本题是一个树套树,但在这里给出一个思维难度较低的分块算法。

2023-07-08 19:15:40 163

原创 [分块][STL][树]【Centroids】不一样的解法

一道好题,也就花了我一个下午而已。本人做法比较清奇,可以当做开阔思路参考,并不太建议实操(太难调了!文章较啰嗦,谅解。

2023-07-08 19:11:04 245

原创 学科营训练6解题报告

对于这个题,我们不难发现,他的字符插入顺序不一定是从头到尾,可以循序渐进,从中间向外面扩展,所以我们考虑区间DP。后来发现会超时,所以就在时间即将上限的时候直接输出当前算出来的答案,没想到居然还对了。只用这种标记能否不重不漏的覆盖所有修改的点呢,答案是可行的,比如说有一个修改。值的选手,那么剩余的两个选手肯定会在没有枚举到的选手中产生。,不难发现这样就能覆盖所有需要修改的点,并且不会修改多次。,对于中间无法复制粘贴的部分,直接一个一个插入就行了。数组的求法,比较无脑的,就是直接用。

2023-07-07 14:14:48 37

原创 李超线段树学习笔记

如有错误,欢迎各位大佬指出。GM说学了斜率和线段树就可以尝试。前置芝士:斜率线段树李超线段树主要解决平面坐标系内有关直线的问题,李超线段树是一种特殊的线段树。这里给出一个引例。题目大意及要维护两个操作:给定一条线段的左端点和右端点。给定条直线xkx=kxk,求与该直线相交的线段的最大yyy值是多少。对于这个题,如果要用普通线段树维护,那么我们就必须采用权值线段树,而且很难讲左右子树进行合并,并不方便。因此,这个题就需要用到李超线段树了。

2023-07-07 14:09:35 261

原创 点分治学习笔记

又称淀粉质。学科营之前赶紧来一波急抓。

2023-07-07 14:08:55 209

原创 差分学习笔记

同步于cnblogscnblogscnblogs发布。基本树上操作,lca。(用于树上差分。如有错误,欢迎各位大佬指出。(顺便复习一下远古算法。我们先给定一个数组aaa,长度为nnn,我们可以构造一个差分数组bbb,使得对于任意的i1≤i≤ni1≤i≤n∑j1ibjaij1∑i​bj​ai​。那么如何构建一个普通的差分数组呢?不难想到,我们假定a00a_0=0a0​0,则此时,对于任意的。

2023-07-07 14:08:52 298

原创 高级搜索算法学习笔记

如有错误,欢迎各位大佬指出。前置芝士:深度优先搜索广度优先搜索。

2023-07-07 14:07:40 238

原创 浅谈珂朵莉树

如有错误,欢迎指出。(什么错误都可以。同步于cnblogscnblogscnblogs发布。当你在 oi-wiki 上面看到一个叫做珂朵莉树的数据结构时,你可能会很好奇,也可能会觉得 oi-wiki 非常高大尚。珂朵莉树贼简单,在比赛中也很实用!好,不多说废话,我们进入正题。CF896C,也是我们后面讲述的例题。可以发现,在这个题目中,前面三个操作我们都还可以运用主席树实现,但是当你看到第4个操作嘛,呵呵,我可以猜到你的心情。珂朵莉树,又名老司机树,(ODT树),在比赛中,

2023-07-07 14:05:28 493

原创 st 算法学习笔记

该文章同步于cnblogscnblogscnblogs发布。在看这篇文章之前,请先自行了解以下几项东西:1.倍增思想。2.动态规划思想。3.乘方位运算实现如有错误,欢迎各位dalao批评指出。ststst。

2023-07-07 14:04:40 205

原创 浅谈线段树

Oi-Wiki上的线段树同步于cnblogscnblogscnblogs发布。如有错误,欢迎各位dalao们指出。注:本篇文章个人见解较多,如有不适,请谅解。前置芝士1.二叉树的顺序储存。

2023-07-07 14:04:03 167

原创 Floyd算法学习笔记

同步于cnblogscnblogscnblogs发布如有错误,欢迎各位dalao批评指出。

2023-07-07 14:02:13 281

原创 NOIP2021赛后总结

本juruo坐标CQ准考证号为CQ-0212如有亿些错误,欢迎各位dalao指出本juruo的错误。本文章由三个部分组成:1.游记2.反思3.t1t1t1的题解。

2023-07-07 13:56:58 220

原创 「NOI Online 2022 入门组」赛后总结

如有笔误和错误,欢迎给位 dalao 指出。这个题目比较水,就是把每个题目对的个数和错的个数记录下来,然后看是对还是错的个数多,哪个多就说明哪个是错还是对,最后在和题目给出的答案比较就行。

2023-07-07 13:55:43 67

原创 csp-j 2021 赛后总结及解题报告

前言这篇博客主要写一个蒟蒻对于本场考试的一些心得体会,以及这场考试题目的题解。如有错误,欢迎各位 dalaodalaodalao 批评指出。t1t1t1 分糖果本题总结:这个题目我考试的时候没用多久就做出来了,但是由于我那台电脑的问题,导致我找不到我的代码了。所以我又重新打了一遍,这重新一打,就从 acceptacceptaccept 100100100 降到了 wrongwrongwrong answeransweranswer 808080。考场错误代码:#include<bits/

2021-10-27 13:11:27 461

原创 [贪心+排序]CF101A题解

题目传送门思路总的来说这个题目就是 贪心 +++ 排序。题目意思比较明确,这里将不再阐述。首先,他要让我们在删去 kkk 个字符之后,留下的字母种类数尽量的小,也就是让删去的种类尽量的多。我们可以运用桶的思想,将每个字母的数量储存下来,为了让删去的种类越多,我们先根据这个字母的数量从小到大排序,然后每次都先删去数量越少的字母。因为这样的话,我们可以删去的 kkk 个字符才能利用到最大化,使得他能删去更多的字母种类。代码#include<iostream>#include<alg

2021-09-28 22:47:49 130

原创 P7852 「EZEC-9」Yet Another Easy Problem

题目传送门思路构造思维题题意比较清楚,这里就不再阐述了。我们可以进行分情况讨论,我们先假定在这里构造的排列是介于 111 到 nnn 之间的数。情况1:m=0m=0m=0比较显然,他不能进行操作,我们就直接输出一个字典序最大的,即从 nnn 到 111 倒着输出即可。情况2:m≥n−1m \ge n-1m≥n−1可以至少操作 n−1n-1n−1 次,既然他可以操作 n−1n-1n−1 次,也就是说,他可以每个数字都移动一次。说白了,就是无论你给他什么序列,他只要可以操作 n−1n-1n−1

2021-09-10 20:19:13 134

原创 [质数筛] 质数筛算法详解

今天给大家讲解质数筛这个算法。在信息竞赛中,我们总是会遇到很多判断质数的题目,那么在这里就由我来给大家讲解一下质数筛算法(这里所有讲的算法都是基于筛出从 111 到 nnn 之间的素数的算法)。1.普通筛法最普通的筛法,也就是将前 nnn 个正整数一个一个来判断是否为素数,并且在判断素数的时候要从 222 枚举到 这个数−1-1−1 来判断。关键代码for(int i=1;i<=n;++i)//枚举1到n{ bool flg=0; for(int j=2;j<i;++j)/

2021-09-05 15:45:48 5176 8

原创 [ 质数筛 ] UVA686 Goldbach‘s Conjecture (II)

题目传送门思路质数筛。这个题目比较简单,其实就是质数筛的应用。题目意思就是我们要找出 n=p1+p2n=p1+p2n=p1+p2 ,其中 p1p1p1 p2p2p2 为质数 中的 p1p1p1 和 p2p2p2 存在的情况有多少种(不考虑顺序)。nnn 是小于等于 2152^{15}215 的,所以我们可以先把 2152^{15}215 以内的质数通过欧拉筛把他们筛出来。 然后我们再枚举 222 到 n2\frac n22n​ 之间的所有数字(因为我们不考虑顺序,所以只需要枚举到 n2\frac

2021-09-05 14:13:35 97

原创 [二分] AT1279 题解

题目传送门思路排序+二分这个题目拿到之后,我们很容易想到 n2n^2n2 的解法,但是看到数据范围,很显然 n2n^2n2 的算法是过不了的,所以我们需要优化。先来讲一讲 n2n^2n2 的算法即我们先枚举 111 到 nnn 然后再来一层循环 jjj 从 111 到 nnn 。只要保证 jjj 这个人他到这个地方的开始时间大于 iii 这个人来到这的地方的开始时间且小于 iii 这个人离开这个地方的结束时间,第 iii 个人会听到的问好数 +1+1+1 。接着我们来讲一讲如何优化很显然,ii

2021-08-28 20:01:19 78

原创 [暴力枚举] CF118C Fancy Number

题目传送门思路暴力枚举这个题目的核心思想其实就是暴力枚举,并且这个题细节特别多,要特别注意。我整整调了1个小时就是枚举一边 000 到 999,并求出使得车牌号码中有 kkk 个枚举的数的代价是多少,如果这个代价小于以前枚举出来的最小代价,则这个代价就成为最小代价,并将方案记录下来。 如过以前的最小代价等于当前的代价,则就要注意一下字典序。详情见代码。代码#include<iostream>#include<cstring>#include<algorithm

2021-08-28 17:14:01 190 1

原创 [动态规划] AT916题解

题目传送门思路dpdpdp 问题题目大意就是给定一个数字 nnn 你可以对他减去 1,2,31,2,31,2,3 里面的任意一个数字,只需要满足在操作过程中 nnn 不等于题目中说明的三个数,最后如果可以使得 nnn 等于 000 就输出 YES,如果不能使得 nnn 等于 000 就输出 NO。读完题目之后,我想到了 dpdpdp 的做法。我们先定义状态 令 dp[i][j]dp[i][j]dp[i][j] 表示第 iii 个数至多操作 jjj 次能否等于 000。如果能,dp[i][j]=1d

2021-08-27 20:46:23 98

原创 [数论,数学] 「PMOI-4」人赢

题目传送门思路我看到各位 dalaodalaodalao 们运用了什么扩展欧拉函数还有什么矩阵快速幂,问题是这些东西本蒟蒻都不会啊…本蒟蒻只会找规律。很简单,看到这道题目之后,我们可以让计算机帮我们找出规律,然后找到规律之后就很简单了,我们直接找出 第 kkk 个数在这个有规律的数列的第几个即可。这时,有人问了,你确定所有的 nnn 和 mmm 都可以找出规律?如果各位不信的话,可以自行打表,把九九八十一种情况全部找出来,保证全部都有规律。这里给大家推荐一名打表 dalaodalaodalao

2021-08-25 17:40:18 127

原创 [图论 链式前向星]AT5232题解

题目传送门思路图论 链式前向星这题太水了,学过图论的不会做都对不起你自己。很简单,我们可以先用邻接表把这个图给储存下来(运用链式前向星来储实现邻接表)。 然后枚举每个点,再枚举每个点可以到达的其他点。如果第一层循环枚举的点小于等于第二层循环枚举的点,则直接跳出循环,因为这个点已经不符合要求了。如果如果第一层循环枚举的点大于第二层循环枚举的所有点,则最终答案加一。最后,直接输出最终答案。(记得换行)代码#include<iostream>using namespace std;/

2021-08-23 10:08:54 128

原创 三国杀武将技能(持续更新)

三国杀武将信息。 by 咸鱼吖(实时更新)2021.8.21 完结基准(未突破)。2021.8.21 完结基准(界限突破),并修改了以前的错误和错别字。一.基准(未突破)1.刘备势力:蜀 等级:SSS级 血量:4/4技能仁德:你可以将任意张手牌交给其他角色,当你于此阶段内给出第二张牌时,你回复一点体力。激将:主公技,其他蜀势力角色可以在你需要时代替你使用或打出闪。2.关羽势力:蜀 等级:AAA级 血量:4/4技能武圣:你可以将一张红色牌当作杀使用或打出。3.张飞势力:蜀 等级:A

2021-08-21 15:39:34 4225

原创 [图论 最短路 spfa]分糖果

今天给大家讲解分糖果这道题目思路很简单,我们把小朋友看作点,两个小朋友在彼此身旁看作是一条无向图的路径,路径的权值为111。现在糖果ccc小朋友身上,让我们求出传给其他小朋友之后,吃完糖的最小时间。求最小时间,也就是求出距离ccc点最远的点的最小距离。很简单,这就是一个单源点最短路。我们可以运用spfaspfaspfa算法来解决。代码#include<iostream>#include<queue>#include<cstring>using name

2021-08-18 20:07:25 224

原创 一些好的文案

接下来带给大家一些文案(持续更新中)number1number1number1假如让 A=1%,B=2%……Z=26%。那么:Knowledge:K+N+O+W+L+E+D+G+E=11+14+15+23+12+5+4+7+5=96%Workhard:W+O+R+K+H+A+R+D=23+15+18+11+8+1+18+4=98%也就是说知识和努力工作对我们人生的影响可以达到96%和98%。Luck:L+U+C+K=12+21+3+11=47%Love:L+O+V+E=12+15+22+5=5

2021-08-17 15:12:26 285

原创 [图论 最短路]dijkstra算法详解

今天给大家讲解dijkstradijkstradijkstra图论最短路算法在讲解dijkstradijkstradijkstra算法之前,先来给大家讲解一下图论中的松弛操作。松弛,即relaxtionrelaxtionrelaxtion,是一种编程学术语。举例说明,例如我们可以从某个机场坐飞机达到若干个机场,然后从这些机场出发,我们又需做火车前往若干个城镇。现在假设我们手里有飞行时间表(listlistlist 或者 dictdictdict),而 AuA_uAu​ 表示的是从当前位置出发,我们到达

2021-08-17 14:36:05 302

原创 如何加快c++程序的运行时间

今天给大家讲集中可以优化程序时间的东西1.O2优化O2优化是一种手动优化程序时间的东西,但是请注意,在考试中千万不能使用,否则会cecece。#pragma once#pragma GCC diagnostic error "-std=c++11"#pragma GCC target("avx")#pragma GCC optimize(2)#pragma GCC optimize(3, "Ofast", "inline")#pragma GCC optimize("Ofast")#pra

2021-08-16 18:08:19 2951 3

原创 [COCI2014-2015#7] TETA

题目传送门思路题目大意就是说你现在要买一些食品,如果你现在买的食品是套餐中的,且单买价比套餐价要高,那就会把买单个改为买套餐,求买食品需要花费多少钱。很简单,直接根据规则进行模拟即可。首先我们先把要买的东西的食品编号用桶的思想储存起来,假设编号为 xxx,我们定义以为数组 buyibuy_ibuyi​ 表示在要买的食品中,食品编号为iii的食品要买多少个。然后我们不看别的,只看套餐里的东西。 先一直循环,然后枚举套餐里的食品编号,接着一份一份的来看。 假设现在枚举到了套餐里的第 iii 个物品。如

2021-08-16 17:10:39 136

原创 [dijkstra 图论 最短路] 最小花费

今天给大家讲最小花费这道题目。思路题目大意就是现在给定一些人之间转账的要给的手续费,让你求出aaa转账给bbb的最小花费。很显然,为了求出最小花费,又给定了一些人之间要给的手续费。 我们可以吧人看作点,两个人之间可以互相转账看作他们之间有一条路径,要给的手续费为这条路径的权值,那么这个问题就被简化成了一个图论问题。由于要求最小话费,也就是最短路,所以在这张图中我们又要采用dijkstradijkstradijkstra算法。 但是接下来有几个问题请大家要注意一下。q1q1q1由于他给的是手续费,

2021-08-15 23:10:37 437

原创 Mac如何编译c++

希望这篇文章能帮助到那些正在困惑的苹果电脑用户。大家都知道,我们在学习c++c++c++程序设计的时候,我们大多时候用的windowswindowswindows电脑,用的c++c++c++编译器是dev−c++dev-c++dev−c++。但是,在MacMacMac电脑上,是下载不了dev−c++dev-c++dev−c++的。当然,你可以花钱去下载windowswindowswindows模拟器,但是如果你不想花钱,那该怎么办呢?接下来,给大家推荐3个MacMacMac电脑比较实用的编译器。1

2021-08-12 21:18:06 5998

原创 [贪心]AT4720题解

题目传送门思路贪心题目意思就是说在三个序列里面每个序列列中都选择一个数,让你求出在选择的数中输出最大的 kkk 个总和。由于他有三个序列,所以我们可以先求出 aaa , bbb 序列中最大的 kkk 个两个数之和,并存入ans1ans1ans1数组。再来求出 ans1ans1ans1 和 ccc 这两个序列中最大的 kkk 两个数之和,最后直接输出即可。证明接下来给大家证明一下这个结论。假设 aaa , bbb 序列中第 kkk 大的两个数之和为w1w1w1 ,第 k+1k+1k+1 大的两个

2021-08-10 20:51:50 67

原创 [高精度]高精度的封装

这是我最近学到的一个高精度封装,把高精度运用classclassclass类封装成一个变量IntIntInt。#include<bits/stdc++.h>using namespace std;class DividedByZeroException {};class Int { private: vector<char> digits; bool sign; void trim(); public: In

2021-08-05 20:11:47 561 1

原创 [模拟]AT2202

题目传送门思路直接模拟这个题目题意比较清晰,就不给大家分析题目意思了。 大意就是经过 nnn 轮的碰撞之后,求出最后一个石头的硬度。比较容易,我的思路是运用队列来模拟整个过程。首先,在输入的时候,我们将每块石头的硬度 aia_iai​ 压进队列。然后进行 nnn 轮模拟。 每次模拟取出两个石头的硬度 x,yx,yx,y ,然后根据规则进行碰撞的计算。如果 x=yx=yx=y 则将 yyy 压入队列。如果 x≠yx\neq yx​=y 则将 ∣x−y∣\lvert x-y\rvert∣x−y

2021-08-05 19:35:21 105

原创 [数学,数论]AT4237

题目传送门思路容斥问题题目意思:输入四个数字 a,b,c,da,b,c,da,b,c,d。求在 aaa 到 bbb 这个区间中有多少个数满足不整除 ccc 或 ddd。我的思路是运用容斥原理。首先我们先求出在 aaa 到 bbb 这个区间中有 xxx 个数不整除 ccc ,然后再求出 aaa 到 bbb 这个区间中有 yyy 个数不整除 ddd,最后再求出这个区间中有 zzz 个数满足不整除 ccc 和 ddd。我们假设 aaa 到 bbb 这个区间中总共有 www 个数。则通过容斥原理,最终

2021-08-05 19:32:57 94

原创 [背包dp][COCI2011-2012#1] MATRIX

题目传送门思路背包问题。我们假设dp[j]dp[j]dp[j]表示是否能够达到jjj度这个角度,如果可以;dp[j]=1dp[j]=1dp[j]=1,如果不可以,dp[j]=0dp[j]=0dp[j]=0。首先,初始值:dp[0]=1dp[0]=1dp[0]=1。然后,我们来看dp[j]dp[j]dp[j]的状态转移。两种情况:一:如果我们选择了+a[i]+a[i]+a[i],则状态转移为dp[j]∣=dp[j−a[i]]dp[j]|=dp[j-a[i]]dp[j]∣=dp[j−a[i]]。

2021-08-03 15:55:31 114

MC类改变鼠标光标文件

先将第一个文件夹解压 再将其中的光标文件夹在下载中解压 最后在设置中改变鼠标的光标

2021-06-19

空空如也

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

TA关注的人

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