自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 题目:希望(Floyd,排列组合)

希望ADPC2-G算法:Floyd,排列组合因为给定的两棵树,所以任意两点之间的距离固定,且两点之间一定是一条链,所以可以用Floyd计算出两点之间的距离,并统计链长为x的个数num[x]。(对树进行Floyd有许多优良性质)两棵树所形成的环一定是各取一条链,并将两条链的端点相连,因为m的值给定的很小,所以枚举a树中长度为l1的链,枚举b树中长度为l2的链,并满足l1+l2+2==m进行组合统计num[l1]*num[l2],(这里所求的值应该再乘二,可能会出现头头相连尾尾相连,和头尾相连两种情况

2021-10-27 19:23:33 141

原创 题目:分配颜色(排列组合)

分配颜色ADPC2-D考点:排列组合注释只对行进行考虑考虑到对一行进行偶数此操作的效果相当于没操作,当一行操作奇数此操作的效果相当于操作一次,所以可以从大到小枚举有效操作的次数(注意如果可以操作的次数减去总的行数为奇数,应该从总行数-1开始考虑,枚举循环式应该每次减去2),列也如此考虑。总变化的方格数=im+jn-2ij,满足条件的可以进行排列组合随后从总的行数里面选择有效行数,进行排列组合,得到组合数a。再来考虑无效的操作次数,无效的操作次数/2得到,问题转化为将t个相同的物品,放进n个不同

2021-10-27 19:12:35 370

原创 暑假题目标记

亮灯时长AcWing 3774算法:模拟+前缀和#include<iostream>#include<cstdio>#define N 100010using namespace std;int a[N],osum[N],esum[N];int main(){ int T; cin>>T; while(T--) { int n,m,ans=0,maxn=0,maxo,maxe; cin>>n>>m; for(i

2021-10-05 16:42:55 105

原创 数据结构优题(1)

Psychos in a Line CodeForces - 320D算法:单调栈,模拟注释:利用单调栈找到当前数左边第一个比其大的数。到达当前数时,保留在栈中的数字一定是非单调递减的数字,即未能被杀死的人;从栈中弹出的人为可以被当前这个人所能杀死的人。因为一个人可以同时杀死他人和被他人杀死,所以一列单调递减的数字,可以看做最前面的人可一次性杀死到单调递减最后一个人。利用ans[a[i]]数组保存第i个人a[i]所能杀死最多的人所需要的步数。#include<iostream>#

2021-10-05 16:41:33 81

原创 博弈论(1)

Just another board game算法:博弈论,思维Problem DescriptionAfter playing some games of Go, Roundgod and kimoyami decide to try something different. Now they are playing a new kind of game on a chessboard. The chessboard is a grid board with n rows and m columns

2021-10-05 16:41:05 125

原创 图论优题(2)

图论优题21.Doves and bombs [UVA - 10765](https://vjudge.net/problem/UVA-10765)2.Wedding [UVA - 11294](https://vjudge.net/problem/UVA-11294)1.Doves and bombs UVA - 10765算法:割点,割边注释:给定一个无向图,求解每个点可以作为几个双连通分量的割点,注意对遇特殊点的判断,当祖先节点没有或者有一个儿子的时候,可以作为一个连通分量的割点;当祖先

2021-10-05 16:40:20 232

原创 思维优题(1)

Interview codeforces 631算法:二进制注释:本题较为简单。二进制或运算只增不减,所以将所有数字求或和,即可得到最大值补充或运算和和运算的逆运算:a|b=c,a&b=d,已知b,c,d求a,a=b^a&d,异或运算的逆运算:a ^ b=c的c ^b=a;#include<iostream>#include<cstdio> using namespace std; typedef long long LL;int a[1005

2021-10-05 16:38:12 84

原创 字符串优题(1)

Remember the WordUVA - 1401 算法:Tire树,DP注释:本题是一道DP,可以使用Tire树进行优化,正序的思考方式很容易想到DFS加一个记忆化搜索,由此可以转化成逆序方向的DP,d[i]表示以第i个字符为起点,可以分解的策略数。状态转移方程d[i]=sum{d[i+len(x)]},单词x是S[i…L]的前缀.#include<iostream>#include<cstdio>#include<cstring>#inclu

2021-10-05 16:35:31 75

原创 图论优题(1)

Computer HDU - 2196算法:树形DP注释:dist[i][0]表示向下最长距离,dist[i][1]表示向下次长距离,dist[i][2]表示反向最长距离1)先按求树的直径的方法计算出每个节点向下的最长距离和次长距离,注意应该记录达到最长距离最经过的儿子节点,以方便后边方向距离的计算。状态转移公式为:if(dist[u][0]<dist[v][0]+w){longest[u]=v;dist[u][1]=dist[u][0];dist[u][0]=dist[v][0]+

2021-08-13 09:33:46 217

原创 动态规划---线性dp(初级)

拦截导弹(O(n*lgn)复杂度)解决第二问:Dilworth定理定理1 令(X,≤)是一个有限偏序集,并令r是其最大链的大小。则X可以被划分成r个但不能再少的反链。其对偶定理称为Dilworth定理:定理2 令(X,≤)是一个有限偏序集,并令m是反链的最大的大小。则X可以被划分成m个但不能再少的链。一组数字最少不升序集的个数=最长升长度最少不降序集的个数=最长降长度最少升序...

2018-12-22 18:02:12 237

空空如也

空空如也

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

TA关注的人

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