我对模拟退火的初步理解,还没深入了解过。这里只是用模拟退火求函数极值。 题目:https://vjudge.net/problem/HDU-2899 #include<bits/stdc++.h> using namespace std; #define IOS ios::sync_with_std ...
分类:
编程语言 时间:
2021-04-20 15:29:36
阅读次数:
0
原题链接 考察:并查集 思路: 很容易想到用并查集的根节点代表此集合的权值和.但是注意在结点合并的时候,会出现本不属于这里的权值.被路径压缩加到子结点上. 这里有两种处理方式: 一、建立虚点. 在x,y之上建立一个结点s,在路径压缩时就不会合并到y集合的权值k. 二、特殊处理x结点权值,在x权值和上 ...
题目描述 有一个集合组成的list,如果有两个集合有相同的元素,将他们合并。返回最后还剩下几个集合。 集合数 n <= 1000。 每个集合的元素个数 m <= 100。 元素一定是非负整数,且不大于 100000。 样例 样例1: 输入:list = [[1,2,3],[3,9,7],[4,5,1 ...
分类:
其他好文 时间:
2021-04-15 12:24:32
阅读次数:
0
题目链接 题目大意 有一个数组 \(a\),它是一个长度为$n(n\le1e5)$的全排列。 现在他想执行多次下列两种操做: $0;l;r$表示对$a[l..r]$进行升序排序 $1; l; r$表示对 \(a[l..r]\) 进行降序排序 问经过 $m(m\le1e5)$次操作后$a[k]$为多少 ...
分类:
其他好文 时间:
2021-04-14 12:37:08
阅读次数:
0
link。 DAG 上的可重最小链覆盖,转化成偏序集的最大反链,其中偏序 \(\mathrm x \leq \mathrm y\) 当且仅当每一维 \(x_i \leq y_i\)。 以下记 \(a_i = p_i - 1\)。考虑如下的等价问题: 给定包含 \(n\) 种元素的多重集 \(S\), ...
分类:
其他好文 时间:
2021-04-14 11:52:15
阅读次数:
0
原题链接 题解:注意建立边 代码: #include <iostream> #include <algorithm> #include <cstring> #include <cmath> using namespace std; const int N = 5e3 + 9; const int M ...
分类:
其他好文 时间:
2021-04-12 12:34:29
阅读次数:
0
题目 分析 可取状态只能是斐波那契数,求出SG函数 然后判断三个数sg函数异或和不为0先手必胜 代码 #include <cstdio> #include <cctype> #define rr register using namespace std; const int p[15]={1,2,3 ...
分类:
其他好文 时间:
2021-04-07 10:55:22
阅读次数:
0
原题链接 考察:区间dp 这题好像HDU 4283 可以往左或者往右走.但是这道题起始位置不确定,也就是说,i位置不一定是栈底. 非常详细的题解 思路: 因为题目完全不一样,所以必须换一个思路.以f[i][j]表示灭掉[i,j]所有灯消耗的功率.首先明确老张灭灯只要路过了就会灭,因此最后的位置要么是 ...
分类:
其他好文 时间:
2021-04-07 10:35:12
阅读次数:
0
题目链接 题意:求无向图最小环(n<=8000,m<=4000) 动态把边加进去跑Dij,在加入一条边(u,v,c)之前,先求出mindis(u,v),更新答案ans=min(ans,mindis(u,v)+c),复杂度$O(m^2logn)$ 1 #include<bits/stdc++.h> 2 ...
分类:
其他好文 时间:
2021-04-06 14:28:01
阅读次数:
0
题目链接 #题目大意 求树上每个点到其他点的最大距离。 #解题思路 首先随便选择一个顶点作为根然后跑一遍dfs,记录每个顶点以其为根能到达的最大深度和次大深度,然后再跑一遍dfs,对于每个顶点,如果要到达一个距离最大的点,要么就是原来中的子树中的距离最大的点,要么就是经过父节点的某个点。 #代码 c ...
分类:
其他好文 时间:
2021-04-02 13:22:41
阅读次数:
0