自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021年河南省CCPC大学生程序设计竞赛赛后反思

第一次参加ccpc最后来了个小铜尾,全程整体还是比较破防的。比赛过程:怎么说经过我们三人的“探讨”完美的计划应该是这样的:我主打,一开始就把常用头文件输入输出套上去,SYH和NQL就直接找水题,等我模板敲得差不多了他们俩直接给我说水题怎么写,一通写直接A,另一个人直接找下一个水题… 但是实际上确实非常痛苦的,前面看似挺顺利的我敲完之后SYH也真是直接给我说了1001题怎么写,一通写,一发WA了…debug吧,改了超长时间,起初我俩的思路是一直一样的,结果还是WA,没办法,看一样榜单,1011,我俩转手解决

2021-10-31 17:22:16 378

原创 基本算法——前缀和与差分

一维前缀和建立原数组 a: a[1], a[2], a[3], ……, a[n];构造数组s : s[1], s[2], s[3] , ……,s[n];解决问题:给定m个区间【l,r】让你求数组a(长度为n)在区间所有元素之和暴力区间求和:sum += a[l] + a[l + 1] + ……+ a[r];时间复杂度:O(n + m)利用前缀和:数组s的构造:s[i] = s[i - 1] + a[i];输出:区间【l, r】中a元素和:s[r] - s[l - 1]原理:

2021-10-24 09:49:03 1973

原创 面向对象程序设计期末项目总结

面向对象程序设计期末项目小总结

2022-12-14 14:29:12 563 3

原创 数论——卢卡斯(Lucas)定理(板子)

文章目录Lucas定理:Lucas板子:Lucas例题ac代码Lucas定理:CabC_a^bCab​ modmodmod ppp === Cb/pa/p∗Camod  pbmod  pC_{b/p}^{a/p}*C_{a\\\mod p}^{b\\\mod p}Cb/pa/p​∗Camodpbmodp​ modmodmod pppLucas板子:int qmi(int a, int k, int p) // 快速幂模板{ int res = 1 % p; while (k)

2022-05-05 12:41:19 674 3

原创 数论——乘法逆元求组合数

上次学过一个杨辉三角求组合数也就是暴力打表O(n2)O(n^2)O(n2)的复杂度导致很多情况下都会TLE于是想到用阶乘(因为有快速幂嘛)但是很多情况下还是会有对一个mod求余但是公式中有除法(n!(m−n)!m!\frac{n!}{(m-n)!m!}(m−n)!m!n!​)我们知道(a / b) % p != (a % p) / (b % p)除非a∗b−1a * b^{-1}a∗b−1 % p = a % p * b−1b^{-1}b−1 % p那么问题来到该怎么求阶乘的倒数呢?这就有了

2022-05-02 15:12:47 691

原创 PTA L2-043 龙龙送外卖

龙龙送外卖龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……看着一大堆订单,龙龙想知道,从外卖站出发,访问所有点了外卖的地方至少一次(这样才能把外卖送到)所需的最短路程的距离到底是多少?每次新增一个点外卖

2022-04-29 18:55:14 443

原创 PTA L1-088 静静的推荐

队列

2022-04-29 05:00:00 1352

原创 PTA L2-042 老板的作息表(string)

字符串

2022-04-29 05:00:00 1277

原创 PTA L2-044 大众情人

Floyd

2022-04-29 05:00:00 862

原创 数论——素数/质数(板子)

质数判定和线性筛

2022-03-18 20:19:58 454

原创 Java笔记:方法重载

重载

2022-03-03 20:18:50 148

原创 第十一届蓝桥杯整数拼接

预处理优化

2022-02-21 21:00:21 307

原创 AcWing 1738. 蹄球(基环树)

AcWing 1738. 蹄球题意分析把每一个牛都看图中的点,把牛和另一个传球对象之间看成一条边,这么来想的话图中会出现环,并且环的长度必定是两个顶点图中每个点的入度最小为零(顶点的两头牛),最大为二(左右都给他)然后图中就会出现两种环一种是不带树的环,一种是基环树#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namesp

2022-02-07 17:59:23 574

原创 AcWing 4217. 机器人移动(二分+向量前缀和)

机器人移动题目给的数据范围10510^5105想想是不是可以用二分来做要想用二分就要看答案是否满足 两端性 意思就是由答案将整个区间分为两部分,小于答案的不满足,大于答案的满足这道题可以二分区间的长度len, 用f(len)来判定修改len区间是否可以走到终点 ,这样最终的ans就是最小的满足条件的len接下来就是f(len)里应该怎么判断是否可以走到终点枚举所有长度为len的区间,因为所有长度为len的区间我们是可以随意改变里面的值的,所有我们只需要找出来除了这个区间后,当前走到的位置和目标位置

2022-01-30 16:57:02 552

转载 由数据范围反推算法复杂度以及算法内容

文章转载自:链接:https://www.acwing.com/blog/content/32/一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在 107∼108107∼108 为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:n≤30,n≤30,n≤30, 指数级别, dfs+剪枝,状态压缩dpn≤100=>O(n3),n≤100 => O(n3),n≤100=>O(n3),floyd,dp,高斯消元n≤1000=&gt

2022-01-29 22:13:19 105

原创 AcWing 4216. 图中的环(基环树)

基环树,并查集

2022-01-29 22:03:56 576

原创 第八届蓝桥杯省赛K倍区间

TLE的同学

2022-01-28 20:55:54 1086

原创 Java大数运算

Java大数运算

2022-01-19 15:46:27 1697

原创 E - 找倍数

BFS

2022-01-19 09:16:27 444

原创 [kuangbin带你飞]专题一 简单搜索

专题一 简单搜索A - 棋盘问题(DFS)B - Dungeon MasterC - Catch That CowD - FliptileE - Find The Multiple(字符串解法)G - Shuffle‘m UpH - PotsI - Fire GameJ - FireK - 迷宫问题(BFS路径还原)L - Oil Deposits(连通块)M - 非常可乐N - Find a way...

2022-01-19 08:59:57 1171

原创 N - Find a way

多源BFS

2022-01-19 08:57:45 172

原创 M - 非常可乐

BFS

2022-01-19 08:57:34 166

原创 L - Oil Deposits(连通块)

连通块

2022-01-19 08:57:22 210

原创 K - 迷宫问题(BFS路径还原)

BFS路径还原

2022-01-18 19:30:48 117

原创 J - Fire

BFS

2022-01-18 19:27:36 198

原创 I - Fire Game

多源BFS

2022-01-18 19:24:17 89

原创 H - Pots

BFS

2022-01-18 19:20:59 114

原创 G - Shuffle‘m Up

DFS

2022-01-18 19:17:18 208

原创 F - Find The Multiple(字符串解法)

BFS

2022-01-18 19:12:26 327

原创 D - Fliptile

题目:D - Fliptile题意分析:思路:利用二进制枚举第一行的所有状态2152^{15}215当第一行翻转完后, 想要去掉第一行的1, 需要翻转第二行对应列的位置依次类推, 当第i行确定时, 只有i+1行对应列的位置翻转才会影响到i相似题:费解的开关#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 20;const

2022-01-18 19:06:25 186

原创 C - Catch That Cow

BFS + 单调队列

2022-01-18 18:56:29 70

原创 B - Dungeon Master

三维BFS

2022-01-18 18:51:21 85

原创 A - 棋盘问题

A - 棋盘问题

2022-01-18 18:47:28 184

原创 sort函数讲解

sort函数讲解

2022-01-17 19:18:02 540

原创 超简单git生成ssh公钥(ssh-keygen)

简单生成公钥

2021-12-31 05:00:00 6845

原创 【算法进阶指南】【递归】递归实现组合型枚举

开卷门题目:从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如 1 3 5 7 排在 1 3 6 8 前面)。数据范围n>0 ,0≤m≤n ,n+(n−m)≤25输入样例:5 3输出样例:1 2 31 2 41 2 51

2021-12-11 05:00:00 356 1

原创 【算法进阶指南】【递归】递归实现排列型枚举

用递归来实现全排列问题:

2021-12-11 05:00:00 431

原创 【算法进阶指南】【递归】递归实现指数型枚举

模拟递归过程分析递归以及第二种方法利用位运算解决

2021-12-10 05:00:00 633

原创 【数据结构】哈夫曼树&哈夫曼编码

哈夫曼树定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。理解:举个栗子:假如你有一个衣柜里面有ABCDEF共6件衣服,但是每个衣服穿的频率都是不一样的,54%(问就是喜欢穿),10%,6%,3%,7%,20%那么现在问题来了,你该怎样把衣服放置才能避免每次找衣服的时候把衣柜搞得一团糟呢?答案肯定是把频率高的放到里你最近的地方没错!!哈

2021-11-27 05:00:00 2225

原创 【DP】- 第一周(基础DP) - day6 - 扑克牌

扑克牌分析题意由排列组合可以得到:CnmC^m_nCnm​:从n张扑克里面找出m张牌所有的分法第i个人分的ai张牌,那么第i+1个人所有的分法为:Cn−aiai+1∗CnaiC_{n-a_i}^{a_{i+1}}*C_n^{a_{i}}Cn−ai​ai+1​​∗Cnai​​那么总分法=Cna1∗Cn−a1a2∗Cn−a1−a2a3∗...∗Cn−a1−...−amam总分法=C_n^{a_{1}}*C_{n-a_{1}}^{a_{2}}*C_{n-a_{1}-a_{2}}^{a_{3}}*...

2021-11-15 05:00:00 223

空空如也

空空如也

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

TA关注的人

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