![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 71
weixin_51184047
这个作者很懒,什么都没留下…
展开
-
2023-CSPJ 题解
2023 CSPJ原创 2023-10-23 21:51:01 · 325 阅读 · 0 评论 -
2023年8月6日_图的存储&最短路
图的存储,单点最短路原创 2023-08-06 23:25:17 · 154 阅读 · 0 评论 -
2023年5月3日 单调栈及其应用
单调栈的应用原创 2023-05-03 16:55:59 · 692 阅读 · 1 评论 -
2022年12月29日,数据范围以及对应算法
数据范围对应算法原创 2022-12-29 21:37:09 · 273 阅读 · 1 评论 -
2022年7月上海月赛T3 方形最大值
二维滑动窗口求最值原创 2022-12-27 22:35:11 · 410 阅读 · 0 评论 -
2021年4月 上海月赛甲组 方格取数
1. 递推算法2. 组合数,快速幂, 容斥原理,费马小定理求逆元。原创 2022-12-14 21:38:55 · 474 阅读 · 0 评论 -
2022年10月2日,旋转矩阵的三种方法
旋转矩阵的若干方法。原创 2022-10-02 10:04:34 · 558 阅读 · 0 评论 -
2022年9月21日 ST表倍增思想
ST表,倍增思想原创 2022-09-21 22:44:55 · 97 阅读 · 0 评论 -
2022年9月4日 拓扑排序
给定一个,排出所有顶点的一个序列A满足:对于图中的每条有向边(x,y), x 在A中都出现在y之前,则称A是该图的顶点的一个拓扑序。如图, {2,3,4,1,7,4,6}, {3,2,1,5,7,6,4}都是合法的拓扑序。拓扑排序可以判断有向图是否有环,可以生成拓扑序列。原创 2022-09-04 17:33:58 · 99 阅读 · 0 评论 -
51nod CSPJ 模拟题 B人行横道
矩阵快速幂原创 2022-09-03 15:19:15 · 119 阅读 · 0 评论 -
51 nod CSP-J 模拟题 C航运中心
初看像是背包问题,细看就是个贪心问题。原创 2022-08-31 22:48:33 · 64 阅读 · 0 评论 -
51Nod CSPJ-模拟题 A 加倍
如果 L 为偶数,则判断前半段的数 A (长度为 L/2 )和后半段的数 B (长度为 L/2 )的大小,如果 A>B 则答案为 A−1 ,否则答案为 A。给定一个整数 N。求 1 到 N (包括 1和 N )之间有多少个整数满足以下条件?时间复杂度为 O(1) 代码如下。枚举符合条件的数的前半部分,时间复杂度为。如果 L 为奇数,则答案为。对于 100% 的数据,对于 33% 的数据,1∼n 求解会超时。...原创 2022-08-31 10:23:37 · 74 阅读 · 0 评论 -
上海月赛《上升序列》解法
上升序列贪心+优先队列求解。原创 2022-08-08 23:28:09 · 71 阅读 · 0 评论 -
同余问题详解
算法笔记:同余定理,扩展欧几里得算法。原创 2022-08-08 23:31:42 · 370 阅读 · 0 评论 -
2022年7月上海月赛乙组T4 零的数量
桶, 数位压缩。原创 2022-07-14 23:09:03 · 210 阅读 · 0 评论 -
上海月赛 : 火柴数字(二)(暴力搜索,DP)
1、该题是《火柴数字(一)》的升级,依然尝试动归,题意要求用。原创 2022-07-14 23:01:09 · 520 阅读 · 0 评论 -
51Nod 5月综合 2022年5月28日
T1 A 子串最长长度如果所有元素的和不是 x 的倍数,自然选择所有数,直接输出 n 即可。否则,我们考虑从这个数组中删掉前缀或者后缀,让和不是 x 的倍数。因为当前所有数字的和是 x 的倍数,如果最后一个数本身不是 x 的倍数,那么我们只要去掉这个数字,剩下数字的和一定不是 x 的倍数。如果这个数字仍然是 x的倍数,那么我们再试下一个,直到找到一个不是的为止。以上是删除后缀的方法,删除前缀的方法是相同的,我们先试探第一个数,然后第二个数,以此类推。最终我们从删除前缀和删除后缀中,找出两个方法中更大原创 2022-05-28 23:40:05 · 87 阅读 · 0 评论 -
2022年上海5月月赛乙组题解
IAI上海月赛系列文章目录文章目录IAI上海月赛系列文章目录T1 天平砝码V2思路一 暴力枚举法O(3^n)思路二 动态规划dp普通版本(内存未优化)内存优化版本T2 [数山峰(二)](https://iai.sh.cn/problem/640)题目描述输入格式输出格式数据范围思路一Code1思路二Code2思路三Code3T3 [狼人游戏(二)](https://iai.sh.cn/problem/631)题目描述输入格式输出格式思路一:状态定义发言的作用矛盾判断思路二:思路三T4 [平衡三进制](ht原创 2022-05-22 17:57:36 · 643 阅读 · 0 评论 -
51Nod系列
动态规划算法原创 2022-05-22 17:25:48 · 205 阅读 · 0 评论 -
51Nod 2022年 5月月赛题解
T1 除数减法给定一个整数 n,按照如下算法进行操作:1、如果 n=0,结束算法;2、找到 n的最小质因子 d ;3、n−=d并回到操作 1 。一行一个整数 t 表示测试的数量(1 <= t <= 10000)。后面 t 行,每行一个整数 n(2 <= n <= 10^9)。思路这题是一个结论题, 先找到最小的一个质因子p1。 (n-p1)/2+1,得到答案后直接输出。#include<iostream>#include<cstring>原创 2022-05-02 23:39:15 · 1200 阅读 · 0 评论 -
P8256动规题解
首先,我们看109+710^9+7109+7这个数,它已经十分接近intintint的最大数,所以要知道应该用longlonglong longlonglong做。接下来,我们来模拟一下样例1的第一组数据:10-01-遇到’-'那么删掉开头的001-遇到’-',再删掉开头的01,这是第一种那第二种方法就不再赘述了我们再来看一组数据吧S:111–00T:100首先看第一个’-',可以删结尾,也可以删开头,有两种可能在来看第二个’-',与第一个一样,也有两种可能。所以,一共有2∗2=原创 2022-04-23 22:49:32 · 82 阅读 · 0 评论 -
洛谷P8255 解法 2020328
暴力解和数学解原创 2022-03-28 22:41:02 · 3846 阅读 · 0 评论 -
缩进对齐上海月赛
原题链接缩进对齐题目描述有一段代码,共有 n 行,小爱需要调整这些代码的缩进长度。一开始,第 i 行代码的开头有 a[i]个空格,小爱希望将这一行的开头调整成为 b[i]个空格。小爱的文本编辑器有一个功能,它可以选中任意多行连续的代码,通过一步操作就可以在这些行的开头增加或删除一个空格。注意,若选择删除一个行首空格,必须保证选中的每一行行首都至少有一个空格,不然文本编辑器会误删其他字符,程序就要出错了。请问最少需要多少步,才能让这段代码的缩进调整成指定的样子?输入格式第一行:单个整原创 2022-02-19 18:32:35 · 439 阅读 · 0 评论 -
2021-10-01 上海计算机学会竞赛平台 四方定理
题目背景四方定理是数论中著名的一个定理,指任意一个自然数都可以拆成四个自然数的平方之和。例如:25 = 1^2 + 2^2 + 2^2 + 4^2对25来说,还有其他方案:25 = 0^2 + 0^2 + 3^2 + 4^2以及25 = 0^2 + 0^2 + 0^2 + 5^2题目描述给定一个自然数 n,请输出 n 的所有四平方拆分方案。输入格式单个整数:表示 n。输出格式若干行:每行四个由小到大排列的自然数,表示一种拆分方案。如果有多种方案,先输出首项较小的方案,对于首项相同的方原创 2021-10-01 22:14:26 · 875 阅读 · 0 评论 -
2021-06-09 蓝桥杯省赛 8皇后问题
文章目录8皇后问题一、题目?二、解题思路1.递推回溯:2. 代码示例第一种方法:递归回溯第二种方法:递归3.输出数据:总结8皇后问题一、题目?蓝桥杯省赛(中级)-第6题八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。二、解题思路1.递推回溯:2. 代码示例第一种方法:递归回溯'''_*_ coding:原创 2021-07-03 15:06:12 · 388 阅读 · 0 评论 -
2021-05-29 国赛蓝桥杯第6题-花坛摆花。
文章目录国赛蓝桥杯第6题-花坛摆花。一、题目输入描述输出描述二、解题1.解题思路2.代码三、 总结国赛蓝桥杯第6题-花坛摆花。一、题目首先在指定坐标的方格内放置红色的花卉(每个方格放一盆)在(100x100)的坐标系之中完成后,找出最多有多少盆红色花卉在同一条直线上。(同一直线包含同一列、同一行、同一对角线,红色花卉可以连续也可以不连续)输入描述输入n对正整数,每一对正整数之间以一个空格隔开,代表放置红色花卉的方格位置。每对正整数中的两个数字以英文逗号隔开输出描述输出最多有多少盆红色原创 2021-06-09 23:24:10 · 787 阅读 · 0 评论 -
2021-05-29 国赛蓝桥杯第五题-孙悟空点金箍棒。
国赛蓝桥杯第五题-孙悟空的金箍棒一、题目:二、解答1.解题思路2.解题代码:3. 运行结果:三、 总结一、题目:说孙悟空变出了多跟金箍棒,每根金箍棒的长度不一样。 他们叫互相吵闹。因此,悟空定住一根最长的金箍棒。其余的金箍棒变长。 直到所有金箍棒的长度一样长后才会和平相处。样例如下:输入 : [2,3,4]过程1: [3,4,4]过程2: [4,4,5]输出 : [5,5,5]二、解答1.解题思路利用递归方法,每次我们只定住最大值,其余的元素都+=1. 递归跳出条件原创 2021-05-31 22:34:11 · 3627 阅读 · 0 评论 -
2021-05-17 蓝桥杯数字金字塔路径和最大值
蓝桥杯数字金字塔路径和最大值问题描述【输入】【输出】输入样例输出样例一、解法一 递归回溯解题思路代码二、解法二 动态规划解题思路代码总结问题描述观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。【输入】第一个行包含R(1≤ R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于原创 2021-05-17 22:36:02 · 1973 阅读 · 2 评论 -
2021-05-15 蓝桥杯取水问题贪心算法
good// A code blockvar foo = 'bar';n=int(input())def factorial_2(n): s=1 for i in range(1,n+1): s*=i return sdef factorial_add_2(n): result=0 for i in range(1,n+1): result+=factorial_2(i) return resultprint原创 2021-05-16 18:10:25 · 347 阅读 · 0 评论 -
2021-04-24 蓝桥杯 Python 第五题--密室逃脱
这里写自定义目录标题蓝桥杯第五题解题提示信息:编程实现:输入描述输出描述蓝桥杯第五题解题提示信息:有一个密室逃脱游戏,有100间密室连在一排。密室编号是从1开始连续排列一直排到第100间密室,如下图:游戏规则:玩家初始位置在1号密室;每次玩家可以进入右边的一个密室,也可以跳过一个密室进入下个密室(如:当玩家当前在3号密室,他可以进入4号密室也可以进入5号密室);有毒气的密室不能进入需要避开。编程实现:给定三个正整数X,Y,M(1<X<Y<M≤100),表示原创 2021-04-25 13:20:52 · 4828 阅读 · 8 评论 -
算法自动生成迷宫地图
文章目录前言一、什么是(DFS)深度优先算法?深度优先算法实现步骤1.引入库2.初始化参数3.Turtle画方格函数4.开始生成数组并调用Turtle画图二、什么是(BFS)广度优先算法?广度优先算法实现步骤1.引入库2.初始化参数3.Turtle画方格函数4.开始生成数组并调用Turtle画图总结前言最近学习了随机生成迷宫的算法, 分享学习经验以及碰到的问题点。目前学习两个算法 生成随机地图, 深度优先算法和广度优先算法来生成迷宫。比较下他们的不同点。在程序中,我们用数组M表示所有的单元格子的属原创 2021-03-18 00:40:35 · 1651 阅读 · 0 评论