2 少侠,慢点走

尚未进行身份认证

我要认证

与其在失败后后悔,不如在失败前成功

等级
TA的排名 9w+

书记图片js代码

<div class="head_img"><img width="160" height="160" alt="我的头像" src="http://m.5577.com/up/2019-2/15501113468430433.jpg" class="img_avatar"><div>

2019-08-14 23:54:22

MxKVLpWOWa

博客搬家

2019-07-18 20:36:13

二分图匹配匈牙利算法

这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不...

2019-06-05 21:06:45

拓扑排序例题

不懂的看这里拓扑排序以下是例题:拓扑排序·一简单拓扑判环#include<bits/stdc++.h>using namespace std;const int maxn = 1e5 + 7;vector<int> G[maxn];int inDeg[maxn];int n,m;queue<int>q;int sum;bool top(...

2019-06-05 01:40:07

拓扑排序

在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。一直做改操作,直到所有的节点都被分离出来。如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。下面是算法的演示过程。模板vector//重环无影响const int maxn = 1...

2019-06-05 01:25:06

Codeforces Beta Round #42 (Div. 2)-C. Lucky Tickets(水,思维)

题意:找两张可以组成3的倍数的牌的方法数题解:全部对3取模,然后%3==0的两两配对,min(1,2)配对。#include<bits/stdc++.h>using namespace std;const int MAXN = 1.5e6+5;const int MAXM = 1.5e6+5;typedef long long ll;std::vector<int&...

2019-05-31 00:48:43

B. Ternary Logic(三进制)

time limit per test 2 secondsmemory limit per test 256 megabytesinput standard inputoutput standard outputLittle Petya very much likes computers. Recently he has received a new “Ternatron IV” as a...

2019-05-31 00:35:18

Codeforces Beta Round #69 (Div. 2 Only)

A - Panoramix’s Predictionb是否是大于a的第一个质数#include <iostream>#include <cstdio>using namespace std;bool judge(int x){ bool flag=true; for(int i=2;i*i<=x;i++) if(x%i==0...

2019-05-31 00:26:09

Educational Codeforces Round 50 (Rated for Div. 2) B. Diagonal Walking v.2(思维)

题意:给你一个q代表q次询问,然后给出三个数n,m, k。(n,m)代表终点,k代表最多移动的步数。让你求出到达终点的过程中,走对角线的最大步数。思路:当m > k时输出-1(设m是较大的数),当m-n是奇数时有一步不能走对角线所以k–,当走对角线可以直接到达终点,如果剩余的步数是奇数则有两步不能走对角线所以k - 2。(画图观察规律)#include<bits/stdc++.h&...

2019-05-30 23:11:12

D. Vasya and Arrays(贪心)

题意给你两个数组长度分别为n,m;有这么一种操作,用某个数组的某个子区间元素之和代替这个子区间,这样使得数组长度减少,两个数组都可以进行问你最后两个数组一摸一样的时候,最大数组长度是多少?如果无法使两个数组一摸一样输出-1分析先判断开始数组总和是否相等,不相等是不可能最后两个数组一摸一样的从头和尾两个位置判断是否相等,相等继续如果不相等统计两个数组区间的长度,在比较大小,进行到最后ps...

2019-05-30 21:27:01

1037D - Valid BFS?(思维BFS)

有点意思题意:给了一颗n节点,n-1条边的树,进行BFS遍历,问遍历顺序是否可能是所给数组的顺序思路:先对构树的邻接表通过序列中的数的次序进行排序,再直接对树bfs,看其结果是否相同即可按照进队列的顺序排了一个序,这样就可以我们保证自己写的BFS序最可能是符合所给顺序的BFS序了。如果这样都不行,哪一定不行。感性理解感性理解。vector建图#include<bits/stdc++...

2019-05-30 18:23:31

894C - Marco and GCD Sequence(构造gcd)

894C - Marco and GCD Sequence(构造gcd)

2019-05-30 17:29:51

893C - Rumor(并查集)

​ 有个散布谣言的人,要把一个谣言传给所有人,有的人是朋友,只要告诉其中一人,他的朋友就会知道,求最小花费。例如样例一,先告诉1(然后1会告诉4,4再告诉5),这样就只用再告诉2和3就行了,所以最小花费是2+5+3=10。#include<bits/stdc++.h>using namespace std;const int MAXN = 1.5e6+5;const int M...

2019-05-30 17:04:47

Codeforces 892 B. Wrath (递推)(思维)

题意每个人都有一个长度为 li 的武器,相邻的两个人之间距离为 1 ,同一时间所有人使用武器攻击左边的人,问最后存活下来的人数。显然,最右侧的人一定是可以存活下来的。我们维护一个 cntcnt 代表右侧延伸到当前位置的武器长度,若 cnt>0说明当前位置在别人的攻击范围内,否则 ans+1 。更新 cnt为 max(cnt−1,ai)看对于 ii 来说是否可以攻击到更远的位置。时...

2019-05-30 13:33:03

D. Maximum Distance(图论)最小生成树从(前向星写法待补)

题意:给一张图,定义一条路径的长度为这条路径上的边权最大的边的边权。定义两点间距离为这两点间路径的最小长度。给出k个特殊节点,求对于每个特殊节点,距离它最远的点到它的距离。思路:可以知道,这个距离一定出现在最小生成树上。所以先跑一遍kruskal,然后取第一个特殊节点dfs求出每个特殊节点到它的距离d[i],所有节点的最远距离都是 max (d[i])。题解:我们可以发现答案一定是...

2019-05-30 11:35:29

Codeforces Round #449 (Div. 2)

A - Scarborough Fair题意好理解.View Code//A. Scarborough Fair 字符更换#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>#include<iostream>using namespace...

2019-05-30 02:14:36

(E2) Stars Drawing (Hard Edition)(dp,前缀和,覆盖)(搜索也可以)

题目大意,给你一个n×m大小的字符矩阵,仅由‘.’和‘’组成,提问这个图可否划分为一些由‘’组成的十字形状,这些十字之间可以有重叠,如果可以完全覆盖输出每个十字中心坐标与边长度,不可以输出-1。 这是一道很有意思的题,在这场比赛中上一道题是这一道题的简化版本,数据范围仅有100,所以我采用了O(n^3)的做法,即枚举每个 * ,然后向四周扩展,显然,在这道题中1000的数据范围中这种做法会...

2019-05-30 00:20:25

CodeForces - 1082C Multi-Subject Competition (前缀和 + 思维)

题意:给定n名选手,每名选手都有唯一选择的科目si和对应的能力水平。选择时每个科目对应数量要么一致,要么不选题解:对于某一类的先排序,优先选择大的,sum[i] 表示每类选择i个,符合条件的 和 ,当然当某一类贡献为负时,就不选求sum[i] (0<=i<=m) 最大值即可#include<bits/stdc++.h>using namespace std;typ...

2019-05-29 22:52:28

C. Colorful Bricks (组合数学/dp)

给你n个方格排成一行,有m种颜色,然后要把这n个方格分成k+1段,每段涂不同的颜色,问有多少种方法。排列组合问题,首先要在n-1个位置里面选出k个位置当作段与段的分割点,然后每段涂的时候有m*(m-1)^k种,二者相乘即使答案。要注意的是计算组合数的时候也要取mod,因为组合数的增加也是很快的。还有要上快速幂计算所以C(n-1,k)m(m-1)^k。注意取模。#include<cs...

2019-05-29 20:13:29

CF 502 B-The Bits(找规律)

题意:两个二进制数字a,b,然后进行or运算,然后进行交换数字a,如果数字交换以后,得到的结果不相同,求数字交换以后的位置。思路:我们可以知道与运算有四种情况分别为: a=0,a=0,a=1,a=1 b=0,b=1,b=0,b=1 1 0 0 1两种情况:① 对于b二进制如果是1,a 的值对or运算以后的结果没有影响,所以...

2019-05-29 15:18:18

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。