首页 > TAG信息列表 > 5010

kruskal模板

Prim #include<bits/stdc++.h> using namespace std; int n,m,cnt,ans; bool b[5010]; struct edge { int x,w; bool operator<(const edge &a)const { return w>a.w; } }; vector<edge> v[5010]; priority_queue<edge> q; int main() { c

【算法1-4】递推与递归【持续更新中】

P1255 数楼梯 题目链接:P1255 数楼梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> using namespace std; int a[5010][5010]; int main() { a[0][0] = 1; a[1][0] = 1; int n; cin >> n; if (n == 0) { cout << 0; } else { for (int i = 2; i

代理池搭建

# github,下载免费代理池开源代码(建议读一下别人的代码) # git clone git@github.com:jhao104/proxy_pool.git # pycharm打开,修改配置文件(reids地址修改) # 启动爬虫: python proxyPool.py schedule # 启动服务: python3 proxyPool.py server # 随机获取一个代理 requests.get("http:

Codeforces Round #683 (Div. 2, by Meet IT) D. Catching Cheaters (DP)

题意:给你两个字符串,每次取它们的子串C和D,然后求LCS,得到的贡献为\(4*LCS(C,D)-|C|-|D|\),求最大贡献. 题解:首先应该了解\(O(n^2)\)的LCS的dp写法,然后在此基础上稍加改动,对于子串\(C\)和\(D\),如果\(c[i]=d[j]\),那么他们的LCS应该\(+1\),长度也分别\(+1\),所以\(dp[i][

牛客网Valuable Forests

题目描述: 自行解决。 分析: 一个森林内部节点的度数平方和等于 2 * (长度为 2 的路径数+长度为 3 的路径数)。 n 个点的带标号树个数为n n−2 • 我们可以通过一个 n 2 的做法得到 n 个点的带标号森林个数。 我们分别统计长度为 2 的路径的贡献, 相当于从 n 个点里面挑出 2 个点,

[NOIP模拟测试]:公园(BFS+剪枝)

题目传送门(内部题31) 输入格式 第一行,五个整数$V,M,N,E,L$。接下来$M$行,每行两个正整数$s_i,a_i$。保证$s_i$互不相等。接下来$N$行,每行两个正整数$t_j,b_j$。保证$t_j$互不相等。接下来$E$行,每行三个正整数$u_k,v_k,w_k$。保证$u_k\neq v_k$,也保证不存在从某一点出发能再次回到该

牛客提高D4t2 卖羊驼

分析 不难想到dp[i][j]表示前i个数分了j组的最大值 我们发现这个dp状态有决策单调性 g[i][j]表示对于第i个数它的第j位最近出现的位置 每次一定从这些点转移 预处理即可 似乎还可以做到1e5 https://www.cnblogs.com/hanyuweining/p/10321914.html 就是这个/kel 等有时间再看? 代码

【XSY2564】sequence

\(Description\) 【题目描述】 给定一个长度为\(n\)的由\(['0'..'9']\)组成的字符串\(s\),\(v[i,j]\)表示由字符串\(s\)第\(i\)到第\(j\)位组成的十进制数字。 将它的某一个上升序列定义为:将这个字符串切割成\(m\)段不含前导\('0'\)的串,切点分别为\(k_{1},k_{2}...k_{m-1}\),使得\(v

递归求组合数加强版本

Description 编一递归程序,求组合数 C(n,m) 已知 C(n,m)=C(n-1,m)+C(n-1,m-1); Input 一行两个数字N,M,其值小于等于5000O utput 方案数%1000000007 Sample Input1 1Sample Output1 既然是加强版本,肯定与一般的不一样,而这道题就是普通递归过不了,需要用记忆化搜索。 记

codeforces 140E.New Year Garland

传送门: 解题思路: 要求相邻两行小球颜色集合不同,并且限制行内小球相邻不同。 由此可得:每行小球排列都是独立与外界的, 所以答案应该是对于所有行的颜色集合分类,在将行内的答案乘到上面。 先考虑如何分类: 我们可以确定对于每行所取的颜色种类$x=|S|$, 若相邻两行$i,j$,其$x_i!=x_j$,那么