
杂题解
悲伤的牛奶
保持努力,保持乐观。
展开
-
CodeForces 506D Mr. Kitayuta's Colorful Graph
Problem Link : CF 506DSolution:这题一眼并查集,想不出啥骚操作或者高效的数据结构去维护这个东西,最初想法是对于每一个点开一个集合,用于维护各个颜色的相连关系,但是这个不好直接实现,空间时间都过不去。后来想到了可以用map代替数组进行维护,因为空间复杂度取决于边的个数,可以动态开。但是还是不会写二维的并查集。。。就百度学习了一下。对于这题,我们用fa[u][c] =...原创 2020-02-23 15:58:43 · 281 阅读 · 0 评论 -
CodeForces 741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
Problem Link: CF 741DSoution: 注意到字母最大是v,即最多有22种字符,看到这个数据范围就想到利用状压。那么在这题怎么用上状压呢?想到一个性质:一个简单路径可以通过打乱变成回文串,当且仅当在这个路径上出现的次数为奇数的字符个数不超过一个。 我们状压记录每个字符出现的奇偶性,偶数为0,奇数为1,那么对于以xxx为根的子树中,记stapsta_pstap为p点到x的...原创 2020-02-20 20:18:27 · 561 阅读 · 1 评论 -
数据结构线性表题解
1,大整数加法:链接:http://xmnd.openjudge.cn/ds201602/1/分析:题意很简单,给两个大整数,让你求出他们两的和其实Java中就有专门用于大整数、大浮点数的运算,有兴趣的了解一下,用起来很方便import java.math.BigInteger;import java.util.Scanner;public class Main { p...原创 2018-09-27 19:43:21 · 692 阅读 · 0 评论 -
The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online. H : Traveling on the Axis
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5809题目大意:区间[0, n]上,对于每一个整数[1, n],都有一个红绿灯[i - 0.5], 开始站在[0], 过一个红绿灯本身需要时间1,等红灯也需要时间1,红绿灯以1秒为间隔交替变化,给你初始状态,问 的值为多少, t(i, j)表示从点i为起点走到点j需...原创 2018-10-08 23:25:28 · 262 阅读 · 0 评论 -
2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) 部分题解
contest 链接:http://codeforces.com/gym/101673 A - Abstract Art求多个多边形并的面积,板子题,记小本本#include<bits/stdc++.h>using namespace std;#define mp make_pairtypedef long long ll;const double inf=1...原创 2018-10-09 22:08:13 · 1176 阅读 · 1 评论 -
2015-2016 Northwestern European Regional Contest (NWERC 2015) E - Elementary Math
contest link : http://codeforces.com/gym/101485就瞎写一题的题解吧,当时有事没去打题意:给你n对数,问你有没有一种方法,让每一对经过 +、-、*操作,能得到n个不同的数解题思路:很显然的二分图最大匹配了,唯一需要注意的是保存下来答案,显然直接建图是不行的,link数组开不到那么大,这时候用类似于离散化的思想,把res转换成编号(当然,要用另...原创 2018-11-09 23:34:27 · 208 阅读 · 0 评论 -
The 2018 ACM-ICPC Asia Qingdao Regional Contest E Plants vs. Zombies(ZOJ 4062)
ProLink:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4062题意:有一列n个土地,每个土地经过会增长a[i]的价值,你可以走m步,让你最大化最小值解题思路:最大化最小值,显然就是二分了,最大1e17,最小0,直接二分答案就行了这题主要是check不好写。。考虑一下check函数:对于一块地,肯定就...原创 2018-11-10 22:24:26 · 248 阅读 · 0 评论 -
POJ3281 Dining
题目大意:有N头牛,F个食物,D个饮料。每头牛都有一些喜好,对于食物和饮料。对于一头牛,只有同时得到喜欢的食物和饮料才会开心。一个食物或饮料只能给一头牛,问你最多能让多少头牛开心。要不是它在网络流专题里面我就以为他是个匹配题了。。其实思考一下发现匹配并不可做(也许可做我太菜了?)仔细想了想怎么建图用网络流做,卒。解题思路:首先是源点和汇点很容易想到,(源点和汇点) 与 (饮料和食物) ...原创 2018-12-04 13:57:41 · 188 阅读 · 1 评论 -
HDU1043-Eight(BFS +康托展开)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043题目大意:一个3 *3的地图。装着1-9这9个数,问你能不能只移动9(上下左右),到达题目所给的状态。(简便起见,我直接把输入的x变为9了)解题思路:把一个状态用一个9位数来保存,让后逆向思维从123456789来开始bfs,记录每一个路径。输出答案的时候倒序输出就行了。然而这样空间显然是...原创 2018-11-26 21:58:26 · 231 阅读 · 0 评论 -
POJ3255 Dijkstra求次短路
题目大意:给n个点R条边,求1-n的次短路。解题思路:要求到点v次短路,有两种可能:1,某个顶点u的最短路 + u->v2,u的次短路 + u->v所以我们对于每一个点更新的时候,把它的次短路记录下来,也压进堆来更新就好了。具体怎么实现倒是一个比较巧的方法:原来更新是dist[e.to] = d2,现在是swap(dist[e.to], d2),这样d2就直接成了当...原创 2018-11-30 21:57:42 · 263 阅读 · 0 评论 -
2019寒假训练留坑
会把所有寒假做的题的大致思路写在这上面,看情况上传代码。 第一周div2普通场:直接放链接:https://vjudge.net/contest/278635#overviewA:很水,开始看错了题,更正后奇偶分别做一下就行了B:其实是很明显的bfs,但是直接做肯定超时,所以要剪枝。能想到的并且足够的剪枝就是在遍历走1-k步的时候,如果后面已经有更好的走法,直接break...原创 2019-01-11 18:38:19 · 425 阅读 · 0 评论 -
HYSBZ - 1026 && BZOJ1026 windy数
给两个数1 <= a <= b <= 2e9,求他们之间的windy数的个数windy数定义:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。这题用数位dp来做定义:dp[i][j]:第i位数字为j,并且满足情况数的个数.那么状态转移方程为dp[i][j] = ∑dp[i−1][k] (abs(k−j) >= 2)最后用差分搞一搞,s...原创 2018-10-02 21:56:42 · 291 阅读 · 0 评论 -
杭电多校4
都打到4了,我才开始补题...按难度来补吧,太难了(对我来说233)就不补了Problem L. Graph Theory Homework题目大意:有一个竞赛图(每对顶点之间都有一条边相连的有向图),n个点,每个点都有一个权重w,从点i到点j的距离为 ⌊ sqrt( |wi−wj| ) ⌋.让你求从1到n的最短路。解题思路:⌊sqrt(a)⌋ + ⌊sqrt(b)⌋ &g...原创 2018-08-01 23:33:14 · 275 阅读 · 0 评论 -
金马五校赛 I : 二数
题目链接:点击打开链接大意:给定一个十进制下最多105位的数字,请你求出和这个数字的差的绝对值最小的二数,若答案不唯一,输出最小的那个。 也就是说,给定数字n,求出m,使得abs(n-m)最小且m[i] mod 2 = 0思路:思路很好想,主要是细节,直接上代码吧。#include<cstdio>#include<cstdlib>#include<cstri...原创 2018-04-15 20:19:14 · 292 阅读 · 0 评论 -
POJ 2236 Wireless Network
题目链接:点击打开链接题目大意:给你n个电脑的坐标和一个数字d,这些电脑开始都是损坏的,两个电脑间可以连通如果距离不超过d,而且这种连通性是传递的。再给一些操作:1,检测两个电脑之间是否能连通,并且相应地输出;2,维修好一个电脑解题思路:显然要用到并查集,可以同一个vector来保存那些已经打开了的电脑,这样就不用遍历所有的电脑了(但其实遍历所有也不会超时),然后判断的时候就搜索一下父亲节点是否相...原创 2018-05-18 12:10:53 · 141 阅读 · 0 评论 -
POJ1611 The Suspects
题目链接:点击打开链接题目大意:有n个人,m个小组。一个人可能在多个小组,只要与0在一个小组的人都会可能被感染,这些人也可能感染别人and so on...现在让你求可能被感染的人数。解题思路:显然的并查集求解,最后求一下谁和0的父亲节点是一样的就行了代码:#include<cstdio>#include<cstdlib>#include<cstring>...原创 2018-05-19 18:42:58 · 259 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong
题目链接:点击打开链接题目大意:给出m个区间和,每给出一个要求根据已知的来判断它是否可能合理,不可能就放弃这个条件,并且ans++,让你求ans解题思路:用并查集解决,给出一个条件先判断他们的根节点是否相同,如果相同则判断他们到根节点距离差的abs是否等于给出的值,不同则ans++;根节点不同则连接他们,具体细节看代码。注:l到r之间的和为s可以理解为l-1到r的距离为s,故有u--操作代码:#i...原创 2018-05-26 15:56:50 · 153 阅读 · 0 评论 -
POJ 1979 : Red and Black
题目链接:点击打开链接题目大意:原创 2018-07-09 19:41:23 · 323 阅读 · 0 评论 -
POJ2631 : Roads in the North
题目链接:嘤嘤嘤题目大意:给你一个无向带权树,让你求最长路径(树的直径)解题思路:任选一个点,用dfs跑一遍,记录与这个点最远的点s,再从s点dfs一遍,即可求得直径。数据给的 n <= 1e4,然而枚举每一个点都用dfs跑一遍居然也能过...这题数据有点水。证明如下:这里给出树的直径的证明: 主要是利用了反证法: 假设 s-t这条路径为树的直径,或者称为树上的最长路...原创 2018-07-17 00:11:29 · 234 阅读 · 0 评论 -
HDU 1114 Piggy-Bank
题目链接:点击打开链接题目大意:知道一堆硬币的重量,还知道每一种硬币的面值和重量,求这堆硬币最小的价值。解题思路:完全背包问题,当时没好好学,哭唧唧代码:#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<iostream&...原创 2018-07-18 15:54:15 · 110 阅读 · 0 评论 -
HDU 2049 : 不容易系列之(4)——考新郎
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049题目大意:n 个人m个错排,问有多少种情况。解题思路:先说结论,错排递推公式:f[n] = (n - 1) * (f[n-1] + f[n-2]);错排的情况:首先考虑,如果开始有n-1个新郎,并且这n-1个人都已经完成了错排(有f(n-1)种可能),现在又来了一个人,那么后来的第n...原创 2018-07-19 21:38:07 · 193 阅读 · 0 评论 -
Summer training
补题内容:1,当时没做出来的,必补2,当时做出来但是感觉写的很挫,或者觉得出的很好的题题意都不说,这篇博客的意义是让我踏实把这些题都弄透Day1:不容易系列之(4)——考新郎这个另外一个博客中已经写了https://blog.youkuaiyun.com/swunHJ/article/details/81123246记住并理解错排递推式f[n] = (n - 1) * (f[n-1...原创 2018-08-04 15:30:53 · 262 阅读 · 0 评论 -
Educational Codeforces Round 48 (Rated for Div. 2)
Educational Codeforces Round 48 (Rated for Div. 2) 反应过来要打cf的时候已经过了半小时了,怕再掉分就没打,可惜以我的水平补4个题差不多了A: 题目大意:你有一本书,书的每页有m个名字,现在有n天,每天分别可以写a[i]个名字,让你求每天翻页的次数解题思路:水题不多说,模拟一下即可Code:#include<se...原创 2018-08-04 21:12:31 · 327 阅读 · 0 评论 -
一道水题
链接:一道水题!大意:给你两个十进制数,求出他们的和(不进位)方法:用%取位,再进行%10处理即可代码:#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<string>#include<iostream>#includ...原创 2018-04-14 20:09:31 · 268 阅读 · 0 评论