自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 第 309 场周赛

leetcode 周赛

2022-09-04 17:21:08 866 1

原创 每日杂题-复习

这里写目录标题多路归并62 丑数146. 序列多路归并62 丑数题目链接:Acwing 62 丑数146. 序列题目链接:acwing 146 序列题意:m个数组,每个数组n个数,现在在m个数组里,每一个数组选一个数组成n个序列,一共阔以有nmn^mnm种选择,求最小的前n个序列和分析:这是一个非常经典的二叉堆的题,经常遇到,用了一下多路归并的思想,现在有m个序列要合并,求前面最小的n个数,如果暴力的话肯定会TLE,所以就不要求所有的,使用堆来解决大概思路:现在m个序列合并,简化到每两个序列

2021-11-05 20:16:05 107

原创 图论-二分图

二分图板子性质染色法匈牙利例题1. 染色法判定二分图2. 二分图的最大匹配板子性质当且仅当图中仅含有偶数环,不含有奇数环染色法每一个点染色,一个点为黑,则下一个点为白,dfs一下,如果没有冲突证明是一个二分图#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int N = 2e5+10;//开双倍 无向图int n,m;int e[N],ne

2021-08-26 19:10:37 415

原创 2021暑假集训总结

ACM暑期集训就要结束了,有许多感想许多收获,一个多快两个月的训练学到了很多。总体来说,这个暑假对我是一个很有收获的暑假,也是第一次在校集训,效率比在家高很多,也写了自己的板子。不仅仅是算法的学习,在打多校的时候也更清醒,和队友交流也更多,和队友的配合还有对题目开法也有不一样的感悟。暑假集训开始两个礼拜,在多校之前,就把之前一些基础的算法按照搜索贪心-二分-简单数据结构-最短路-二分图-最小生成树-生成树-并查集-动态规划顺序过了一遍。在多校开始之后,就开始每周两场多校,然后补题的节奏。打多校每次先开

2021-08-21 19:08:46 136

原创 简单数据结构-并查集

并查集板子先说一下并查集习题1. Wireless Network POJ - 2236板子先说一下并查集将两个集合合并查询两个元素是否在一个集合基本原理:每个集合用一颗数来表示。树根的编号就是震哥哥集合的编号,每个节点存储ta的父节点,p[x]表示x的父节点f(p[x]==x) x就是父节点如果不是父节点 while(p[x] != x)p[x]=x;继续向上寻找合并两个集合,就把其中一个树根节点的p[x]改为另一个树根节点的编号 p[x]=x p[y]=y --> p[x]=

2021-08-05 20:26:33 173

原创 图论-最小生成树专题

题目列表PrimPrim的例题P2872 [USACO07DEC]Building Roads SP1194 买礼物Prim先给一个我用的板子Prim算法 图的点集合为V 是从点出发 任意定一个初始节点加入集合X,寻找它所连接的最短边,然后将它连接的节点加入X中,用新连接的点更新d数组,直至X=Vd数组存的是当前X集合对各个点的最短距离 vis记录这个点是否已经在X集合中类似Dijkstra–每次找到最小的边//无向图 N点 M条边 求最小生成树//可能存在重边#include<

2021-07-29 21:05:15 136

原创 图论-最短路-专题

POJ - 3268 Silver Cow Party 题意:在1-N庄子各有一头牛,要去x的庄子参加派对,求一头牛来回最长时间,每头牛走最短时间分析:每头牛走最短的路径,花费最短时间,找到来回时间最长的牛使用Dijkstra跑一遍 单源最短路 找到每头牛派对结束从x回到i的最短时间,然后将所有边反向,再跑一遍最短路Dijkstra,找到去参加的最短时间,每头牛求出自己的来回时间,输出最大maxps:为什么反向再求单源最短路就是参加的时间参加:从各个点到2的最短时间把所有边反向后,原来指向自己的

2021-07-21 20:55:51 5812

原创 bfs的一些题

P1126 机器人搬重物题意:给起点 将机器人移动到 终点可以进行的操作:前进1步,前进2步,前进3步,左转,右转 花费1时间分析:使用bfs寻找最小时间,但是这题有一些坑首先机器人有体积,所以机器人的中心不能落在最外围起点 终点 周围不能有墙,否则到达不了进行前进操作 要判断过程中有没有墙,不然会有穿墙操作状态标记 三维标记 位置(x,y)和方向#include<iostream>#include<cstdio>#include<cstring>

2021-07-21 20:32:10 66

原创 图论--spfa

UVA721 Invitation Cards题意:有n个成员,各自前往n个站点,然后来回最少花费分析,最短路 使用spfa,单源最短路先求第一个站点到后面所有站点的最小花费求各个站点回到第一个站点的最小花费第一个很好求解,问题是怎么求从各个站点回到第一个站点,开始想的是每次来一次spfa,后来一想必然超时, ,最后很神奇的发现,可以使用将所有边反向,再求一次第一个站点到所有站点的最小花费就是从各个站点回到第一个站点的花费,将边反向,把各个站点回到第一个站点转化为第一个站点再次去各个站点找寻最小

2021-07-16 21:11:27 120

原创 思维-各种矩阵

Acwing 3732. 矩阵复原题意:一个 n×m 的整数矩阵,已知其每一行从左到右拥有哪些元素,每一列从上到下拥有哪些元素。但是,行和列的具体顺序并不确定。请你根据已知的信息,将矩阵复原并输出。分析:开始想的是给了每一行 那记录第一个元素,在后面的列中找到第一列然后按照第一列的顺序 去n行中匹配第一个元素 输出这一行后来把对应改了一下 标记每个元素的行号 之后再对应 找 输出写法1#include<iostream>#include<cstdio>#includ

2021-07-12 20:57:44 257

原创 回顾-贪心专题

洛谷1090 合并果子题意·:把两堆放到一堆花费两堆的和体力,将所有堆最后合成一个堆,求最小体力分析:贪心寻找最小挪法,每次将最小的两堆合在一起写法1这个开始ac的后来看题解不晓得为啥能过,大概是数据太弱,大家直接看2把#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<string>using namespace std

2021-07-12 20:36:56 124

原创 回顾-二分

洛谷 1314 聪明的质监员题意:数学公式,有n个产品 重量w 价值v,求m个区间里(区间中 产品重量比W重的个数)*(区间中 产品重量比W重的产品价值的和)再将各个区间的yi加起来 就是Y。工厂的标准是s,找到一个W,使|Y-s|最小分析:看到找到各种条件和与s最小,想到了二分,各个区间的和–前缀和。前缀和假设W,和所有产品使用yi,使用前缀和,找到各个位置W V方便求区间[l,r]的和 == sum[r]-sum[l-1];(一定是l-1)二分我们很容易发现,W=0时,所有矿石都可以选

2021-07-08 21:06:31 96

原创 回顾-搜索

POJ 3414 Pots题意 有两个杯子体积是 A B 用三个操作,达到其中一种杯子变成C体积FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap; (将i杯子装满水)DROP(i) empty the pot i to the drain;(将i杯子水全倒掉)POUR(i,j) pour from pot i to pot j;after this operation either the pot j is full (an

2021-07-07 20:55:38 116

原创 WUSTACM2021-Training-1

AA. A Very Hard Question题目题意:就是 现在 一个橘子上涨x% y 元 (1+0.01x) 个简单数学题 y /(1+0.01x)#include<cstdio>#include<iostream>#include<cstring> using namespace std; int t, n,y; int main(){ scanf("%d", &t); while (t--) {

2021-07-06 21:01:06 102

原创 异或的应用:数组中只出现一次的两个数字

题目传送门算法1利用只有除了那两个数字,其它都出现两次排序 之后按照一次此比较 得出结果刚开始没有想到异或直接朴素想法写的class Solution {public: vector<int> findNumsAppearOnce(vector<int>& nums) { vector<int>a; int len=nums.size(); sort(nums.begin(),nums.end()

2021-05-07 23:45:24 132

原创 cccc-7-69 敲笨钟

7-69 敲笨钟 (20 分)微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输.

2021-04-05 17:10:33 850

原创 CCCC L1-009N个数求和

题目链接传送门这道题本身就是个分数相加没啥说的,就是这个测试点我踩了很多坑,也是我思考不全面首先是 负数输出 找最大公因子,我是全搞整数,判断输出负号第二个是测试点3 题目说要长整型第三个是测试点5 我一直找没找出来,后来写了几组数据发现了bug 如果不是分子刚好除分母,加的时候最开始就是0 也需要特判输出虽然是个简单的题#include<iostream>//负数符号的判断输出#include<math.h>//测试点3 长整型范围using namespac

2020-10-29 14:02:25 218

原创 java尝试-学生管理系统

学了一些基础知识,运用熟悉一下首先学生管理系统,对象肯定是学生,类也就是Student(包含信息 学号、姓名、电话、地址)package StudentSystem;public class Student { private String name; private String id; private String address; private String mobile; //构造 public Student(String id,Strin

2020-10-24 16:02:42 135

原创 2020牛客多校第三场C

Alice is a beauty in a robot society. So many robots want to marryher. Alice determines to marry a robot who can solve the followingpuzzle:Firstly, the shape of Alice’s right palm is as follow:这里是引用And the shape of Alice’s left palm is symmetrical.

2020-07-23 16:37:23 207

原创 next_permutation

HDU 1027先排顺,然后直接用next_permutation排序Ignatius and the Princess IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15329 Accepted Submission(s): 8803Problem DescriptionNow our hero finds the doo

2020-07-17 15:01:20 107

原创 Black Hole训练情况

2020/7/15gyw1.写了一篇博客https://blog.csdn.net/qq_26139541/article/details/1073443992.学习了二分法的思想和快速幂算法3.看算法竞赛从入门到进阶这本书4.做整数二分例题“进击的奶牛”,来源:https://www.luogu.org/problem/P18245. 实数二分例题“Pie”,题目来源:http://poj.org/problem?id=3122ypc1.高精度学习2.关于高精度的博客https://bl

2020-07-15 23:09:54 350

原创 HDU 2040

古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为:1+2+4+5+10+11+20+22+44+55+110=284。而284的所有真约数为1、2、4、71、 142,加起来恰好为220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。你的任务就编写一个程序,判断给定的两个数是否是...

2019-12-21 13:56:03 95

原创 HDU 2039

杭电的题得看清楚 a,b,c需要double型,不一定为整数#include<stdio.h>int main(){ int n; double a,b,c; while(scanf("%d",&n)!=EOF) { while(n--) { scanf("%lf%lf%lf",&a...

2019-12-21 13:39:28 123

原创 HDU 2001

#include<stdio.h>#include<math.h>int main(){ double x1,x2,y1,y2; while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF) { printf("%.2f\n",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y...

2019-12-21 13:24:49 151

原创 HDU 2000

#include<stdio.h>#include<math.h>int main(){ char x,y,z,t; while(scanf("%c%c%c%*c",&x,&y,&z)!=EOF) { if(x>y) { t=x; x=y; y=t; } if(y>z) { t=y;...

2019-12-21 13:21:10 123

空空如也

空空如也

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

TA关注的人

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