自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 妈妈,我以后也要上南邮!

我一上车发现角落里只有一个空位了,旁边坐着一个mm,嘿嘿,我忙走过去一屁股坐下,那漂亮mm很熟练的皱皱眉头,职业性的使劲往旁边挪。 “到 哪?” “南邮。” “哪?” 这个面部肌肉僵硬的售票员一脸不解。 “南京邮电大学,唔”,一说完我明白了,忙改 口,“仙林大学城文苑路9号。” "南京邮电大学?!"丫更吃惊了。这么高的分贝使全车的人都回头。我前座的一位再老就不能说话的那种老人,悠悠的问:“小伙 子,你真是南邮的?” 这似乎是所有人所期盼得到答案的问题。大家盯着我看,看得我都脸红。我更感受到了旁边mm由于迅速

2020-08-23 14:57:00 2048 3

原创 CodeForces 28D Don‘t fear, DravDe is kind (dp)

题意:给出n辆卡车,编号1~n,现在要从这些卡车中选出若干组成车队,编号从小到大排,对于第 i 辆卡车,其人数为 ci ,价值为 vi ,要求其前面卡车总人数为 li ,后面卡车总人数 ri ,问满足这些条件的车队总价值最大值。题解:dp对于被选的车,其前面车的总人数+后面车总人数+这辆车的人数即所选车总人数,为定值,故把所有li+ci+rili+ci+rili+ci+ri值相同的车拿出来单独考虑。由于总人数固定,考虑lll即可。那么只有lilili为0的车才能更新初值。dp[i]dp[i]dp[i]

2020-08-18 10:33:54 416

原创 POJ 2728 Desert King (最优比率生成树+分数规划)

题意:题解:最优比率生成树+分数规划重新定义每条边权值为cost - mid * len,mid为总比例,跑mst,直到权值和为0,则为答案。mid即总比例用二分。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue&

2020-08-07 22:40:33 211

原创 HDU 6187 Destroy Walls (最大生成树)

题意:领土被分割成 n 个地方,国王想到达他领土的每一个地方,现在有一些城墙隔绝了每个地方,拆掉城墙需要耗费一些物力,国王想拆最小的城墙数,花费最小的物力。题解:最大生成树要能到达每一个地方,就是不存在环,生成树能满足条件。花费最少的钱,剩下的就是最多,边权从大到小排序,求一下最大生成树即可。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#i

2020-08-07 21:59:44 163

原创 HDU 6836 Expectation (生成树计数+按位计算期望)

题意:给出一张无向图,求随机选择一个生成树的权值的期望。权值为mst的边权按位与后的结果。题解:生成树计数+按位计算期望总的生成树数量直接根据矩阵树定理求一下。由于权值是按位与之后的结果,也就是说只有这颗mst所有权值的第 i 位都为1时才会有贡献,那我们单独考虑每一位的贡献。遍历所有位,对于该位上为1的边连起来,然后跑生成树计数,该位的贡献就是2i * 数量。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<

2020-08-07 11:30:35 331

原创 HDU 6832 A Very Easy Graph Problem (最小生成树+dfs)

题意:题解:最小生成树+dfs晚输入的边权比之前输入的边权和还要大,根据输入用kruskal求mst。最短我们已经保证了,既然要求所有1到0的路径和,可以通过dfs求出每条边之后有多少个0和1,用dp数组记录,总的减去之后的就是之前的,根据乘法原理算一下即可。...

2020-08-07 10:54:56 191

原创 HDU 6831 Fragrant numbers (区间dp+预处理)

题意:“1145141919” 的无穷串,给出一个n,要求选最少的num,使得前num个数中间添加任意括号、加号、乘号,计算结果等于n。题解:区间dp+预处理dp[i][j][val]dp[i][j][val]dp[i][j][val]:[i,j][i, j][i,j]区间内是否能计算出valvalval。于是可得转移方程:dp[i][j][v1+v2]=dp[i][mid][v1]与dp[mid+1][j][v2]dp[i][j][v1+v2]=dp[i][mid][v1]与dp[mid+1][j

2020-08-06 23:11:23 368

原创 HDU 6827 Road To The 3rd Building (数学)

题意:给出n个元素的序列s,1 ≤ i ≤ j ≤ n,i、j任意,求下列式子期望。题解:数学总的情况为(1+n)*n/2。考虑相同长度区间,Sk的和有规律。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue&g

2020-08-06 22:13:15 276

原创 HDU 4408 Minimum Spanning Tree (最小生成树计数)

题意:计算最小生成树个数。题解:最小生成树计数若不考虑最小,生成树计数我们知道,可以用矩阵树定理求。我们不妨先考虑最小。Kruskal中,我们每次选取最短的边将两个连通块连上,对于长度相等的边的集合,无论我们先选哪一条,最后构成的连通情况G0是一样的,即把这个集合的边全部插入后的连通情况与G0相同,但是图不一样。由此我们可以发现,我们可以将相同长度的边划分为一个阶段,而该阶段是完全与后面的阶段独立的。那么我们将每一个阶段的方案数相乘,其实就是答案。单独考虑一个阶段,而之前的阶段构成的连通块可以缩点

2020-08-06 20:57:45 362

原创 HDU 4305 Lightning (生成图计数+判断点在线段上)

题意:根据两点的距离不大于R,而且中间没有点建立一个图。求生成树计数。题解:生成图计数+判断点在线段上oi-wiki索引:Kirchhoff 矩阵树定理则无向图G的生成树个数 = Kirchhoff 矩阵L 的 n-1 阶主子式的行列式的绝对值。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#

2020-08-05 23:25:37 212

原创 HDU 4009 Transfer water (最小树形图+虚根)

题意:有一个村庄需要修建供水系统。每户居民的房子都有一个三维坐标,每户居民可以选择自己挖井或者从其他居民家里引水。挖水井和引水分别需要花费不同的钱。每户居民有一个意愿表,只愿意对表内的居民家供水。最后要求计算出能为所有居民供水的最小花费。题解:最小树形图+虚根建一个虚根,将虚根连向所有点,边权为那个点自己挖井需要的费用。其他按照居民意愿建边,跑朱刘。数组开小了居然超时。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include

2020-08-05 22:20:18 202

原创 HDU 2121 Ice_cream’s world II (最小树形图+虚根)

题意:有n个点(0~n-1),m条有向边,问以哪个点作为起点使得最小生成树的权值最小,如果可以构成输出权值和顶点编号,否则输出impossible。题解:最小树形图+虚根还好做了这题,板子有点问题。由于要求以哪一个为根权值和最小,枚举肯定不行,考虑加点,也就是虚根。对于这个虚根,我们将其连向每一个点,权值为原本所有边权和+1,这样是为了避免出现有两条或以上连向虚根的边。跑完朱刘之后,最小树形图出来了,如何求起点呢?从虚根入手,新加入的边的编号-m就是点的编号。#define _CRT_SECUR

2020-08-04 23:18:19 192

原创 POJ 3164 Command Network (最小树形图)

题意:求有向图的最小生成树。题解:最小树形图模板题。注意几点:①double②自环重边#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue>#include<stack>#include&l

2020-08-04 22:18:18 124

原创 HDU 4081 Qin Shi Huang‘s National Road System (次小生成树)

题意:给出n个城市的x,y坐标以及每个城市的人数, 这些城市的主人想建造最小生成树,这时候有个会魔法的道士说, 我可以让一条路权值为0, 求A/B的最大值, 其中A是权值为0的道路连接的两个城市的人数之和, B是最小生成树的权值。题解:次小生成树先求一遍mst,有一点跟次小生成树不同的是,若是mst上的边,也可以将其边权置为0。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include

2020-08-04 21:42:54 142 1

原创 POJ 1679 The Unique MST (次小生成树)

题意:求最小生成树是否唯一。题解:次小生成树多校被打自闭,刷刷kuangbin的题吧。先求mst,再直接枚举所有不在mst中的边,替换掉最大边权的边,更新答案。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue&g

2020-08-04 21:01:46 137

原创 2020牛客多校七 C. A National Pandemic (树链剖分)

题解:树链剖分什么?你要看点分树做法?不会操作2很简单,维护一个delta,取min相当于减去当前自身的值,用delta记录进行当前操作时自身的值即可,操作3查询的时候直接减去就ok了。接下来考虑操作1。w−dis(x,y)=w−(dep[x]+dep[y]−2∗dep[lca(x,y)])w-dis(x,y)=w-(dep[x]+dep[y]-2*dep[lca(x,y)])w−dis(x,y)=w−(dep[x]+dep[y]−2∗dep[lca(x,y)])上面这个化简很容易得出,由于 w.

2020-08-02 21:35:48 345

原创 P2709 小B的询问 (莫队算法)

题意:题解:莫队算法第一道莫队,莫队算法主要是能处理离线区间查询问题。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue>#include<stack>#include<cmath>

2020-08-02 14:28:42 163

原创 2020牛客多校七 J. Pointer Analysis (暴力)

题意:题解:暴力题目有点难理解,第1、2种操作就是赋值。比如 A = B.f ,B.f 说的是 B 指向的对象(所以要判断B是否为空)的成员变量 f ,而这个成员变量 f 指向了另一个对象,与 B 是无关的,搞个三维数组,然后进行赋值。A.f = B 反过来写就是了。无限次执行的话,n次就够了。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<string>

2020-08-02 13:11:18 306

空空如也

空空如也

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

TA关注的人

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