自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2018上海金马五校_J_小Y写文章(二分+二分图匹配)

传送门思路: 添加一些(n+1-m 个)假广告与不必填坑位匹配,check 条件最大匹配 =n+1,因此可以直接二分图匹配。#include<bits/stdc++.h>using namespace std;const int N=500;int tx[N],ty[N];int w[N][N],match[N],vis[N];int n,m;void add...

2018-04-19 23:13:24 196

原创 ZOJ_3933_Team Formation(二分图最佳匹配)

传送门题意:有n个人,第二行告诉你他是0队还是1队。第三行告诉你是男生还是女生。 现在想要组队,每个队伍必须是一个0队和一个1队的人。 问在组队数尽可能多的情况下,女生的参数人数要最大。 思路:学习KM算法的第一题。带权匹配可以用km算法也可以用费用流解。在km算法中这里的权值我们可以尽可能的设的大一些。例如我设置为10000.一个队伍中每有一个女生权值就++。这样能保证最后在边最多的情...

2018-04-19 19:45:38 202

原创 Codeforces_962D_Merge Equals(STL map)

传送门题意:给你n个数,然后如果同一个数出现过两次或者多次的话,从左边开始往右边,把第一个删掉,第二个变成2倍的值。 思路:强大的STL!map和set搞一搞就行。#include<bits/stdc++.h>#define debug(a) cout << #a << " " << a << endl#define LL ...

2018-04-17 17:57:11 310

原创 Codeforces_961C_Make a Square(枚举状态or深搜)

传送门题意:给你一个int范围以内的数字,判断需要删除多少位,能变成一个平方数。不能输出-1。 思路:题目还是非常裸的,只需要枚举或者深搜就行。判断这个数是不是平方数,然后看删除了多少位,维护一个最小值就可以啦。 这道题有些坑点:比如如果用int读入的话,会导致你的末尾的0无法统计。所以用string读再合适不过了。还有就是要注意前导0.#include<bits/stdc+...

2018-04-16 20:28:25 246

原创 Codeforces_961E_Tufurama(树状数组or线段树)

传送门题意:有一部电视剧有n季,每一季有ai集。问有多少对i,j存在第i季第j集也同时存在第j季第i集。 思路:核心问题还是统计对于第i季,你要统计第i行(存在多少数量,要大于i)。 线段树的维护相对而言比较暴力,树状数组的话,一开始全是1,一旦某个数过小,就会导致不构成贡献,移除就好。tips:对于这样的题目,可以首先思考排序,这样可以省去一维操作。线段树:#includ...

2018-04-16 20:16:05 303

原创 Codeforces_959D_E. Mahmoud and Ehab and the xor-MST

传送门 思路:很有趣的题目,比赛的时候一直找规律,想着可以晚点再打表,结果GG。 其实对于一个数字,它连接的点一定是lowbit(x),这样就是满足边的权值最小。 所以:这道题最后的规律就是统计1的数量。 打表:#include<iostream>#include<cstdio>#include<string.h>#include<alg...

2018-04-16 20:08:36 232

原创 Codeforces_959D_Mahmoud and Ehab and another array construction task(数学+贪心)

传送门题意:给你一个序列A,让你求一个序列B,满足以下情况: 1.B的字典序比A大 2.Bi>=2 3.B中的没两个数都两两互质。思路:先预处理质因数。B中满足两两互质等价于B中没有相同的质因数。所以对于每个数看,他的质因数有没有在之前出现过,出现过就找 下一个,如果找到的数和起始的不一样的话,之后的数只需要从最小的质数开始就行。#include<bits/stdc+...

2018-04-16 20:03:14 270

原创 Codeforces_953C_Mahmoud and Ehab and the wrong algorithm(构造)

传送门思路:分情况构造,一定 正确的树是一条直线。不正确的话是当n>=6的时候,只需要在1上挂2,3,4,其他挂在2上就行。画画图就很容易出来啦。#include<bits/stdc++.h>#define debug(a) cout << #a << " " << a << endl#define LL long lo..

2018-04-16 19:54:41 259

原创 codeforces_961D_ Pair Of Lines+849B_Tell Your World(数学+直线)

对于直线的问题一直没有很好的写法,今天总结下判断直线的问题。Tell Your World 题意:给出坐标为(i,y[i])的一系列点,问能否找到两条平行且不重合的直线,使得所有点都落在两条直线上,且每条直线上至少有一个点。 思路:对于所要求的斜率我们只需要枚举(1,2),(1,3),(2,3)这几个点就一定会有最总要求的斜率的值。判断在每种情况下,是否能满足要求即可。#include...

2018-04-16 19:46:03 192

原创 ZOJ_4019_Schrödinger's Knapsack (dp)

传送门题意:给你两个S序列s1s1s_1,s2s2s_2,每个 序列有一个系数k1k1k_1,k2k2k_2,现在有一个总容量c,问你从这两个序列中取数,使得最后的价值最大。 每个数放进去的价值为(当前容量-这个数占的容量)*系数。 比如现在c=10,我们从s1s1s_1中去数字1,那么价值就为(10-1)*s1s1s_1.思路:dp。dp[i][j]代表从s1s1s_1中取i个最小的...

2018-04-09 18:23:47 298

原创 2018天梯赛_L2-025. 分而治之

传送门思路:比赛的时候还是T了几个点。现在想想根本不需要把图完全存下来啊。 记录边就可以啦。对于每一组,我们用一个数组a来记录摧毁了哪些点。再遍历m条边,看是否这两个点都没被摧毁。只要都没有被摧毁那一定是NO。#include<bits/stdc++.h>using namespace std;const int N=1e5+100;struct node{ i...

2018-04-08 16:48:20 813

原创 2018天梯赛_L2-026. 小字辈

传送门思路:只需要从上往下dfs即可。存关系的话,用一个vector存下他的儿子有谁。#include<bits/stdc++.h>using namespace std;const int N=1e5+100;int depth[N];int mx_depth=1;vector<int> p[N];void dfs(int root,int dep)...

2018-04-08 15:44:53 591

原创 2018天梯赛_L1-049. 天梯赛座位分配

传送门思路:模拟模拟(⊙﹏⊙)。#include<bits/stdc++.h>using namespace std;const int N=105;int a[N];int f[N];vector<int> stk[N];int main (){ int n; scanf("%d",&n); int sum=0,index=0...

2018-04-08 15:22:41 974

空空如也

空空如也

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

TA关注的人

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