- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 计蒜客 最长的名字 Java String数组!初始化不能用NuLL
传送门String[]s = new String[] 数组初始化package jisuanke;import java.util.Scanner;public class TheLongestName {public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = c...
2020-01-29 21:44:43 230
原创 计蒜客 机器人 与方向有关的机器人行走问题 套路题 方向数组 +% 4
import java.util.Scanner;public class Robort { public static void main(String[] args) { ///与方向有关,套路是用方向数组 同时取余 int dir[][] = {{0, 1}, {-1, 0}, {0, -1},{1,0}};//静态初始化 Scanner cin = new Scanne...
2020-01-27 22:10:47 163
原创 最大子阵,暴力枚举边界坐标。
传送门package jisuanke;import java.util.*;public class MaxRectangleTest {public static void main(String[] args) { int[][]a = new int[55][55];// int[][]sum = new int[55][55]; Scanner cin = new Scan...
2020-01-27 18:12:04 145
原创 Java实现交叉排序包括 Arrays.sort的使用
知识点:接口Comparator重写方法comparao2 - o1降序排序Arrays.sort()的下标是到toindex的上一个,所以要toindex + 1.package jisuanke;import java.lang.reflect.Array;import java.util.*;public class JcSort { public static void ...
2020-01-27 12:01:39 384
原创 蓝桥杯小数循环节长度 - 模拟除法运算 Java
思路:寻找循环节(由余数组成)因为在一个循环节中,可能会有重复的数字,比如3/17,所以不能根据小数点后的数字来分析。本题是通过看每次计算的余数是否与之前相等,来判断循环节长度的。因为余数一旦相等,乘以十后除以除数也必然相等。import java.util.Vector;import java.util.Scanner;class Main { public static void m...
2020-01-25 19:26:15 285
原创 暴力并查集 N - News Distribution
思路:并查集,最后再统计每个结点的父节点是哪个。传送门#include<cstdio>#include<cstring>#include<iostream>using namespace std;int pre[500005];int sum[500005];int n, m;int Find(int root){ int son ...
2020-01-25 13:53:44 163
原创 并查集 + 路径压缩 + 例题
借鉴:传送门思路:并查集即将所有的独立集合中,有关系的集合链接起来,形成一个新的集合,最后达到划分众多数据的目的。运用了数据结构中的树来实现。核心构成有pre[i] = root.代表i的父类是root. i的超级父类即为i与root的共同父类。可以理解为超类是i与root的掌门,root是i的上级。find函数 查找超级父类 同时实现路径压缩。join函数 将有关系的两个点的父类放在同...
2020-01-25 13:26:11 301
原创 Complete the Word CodeForces - 716B暴力模拟
思路:细节比较多。1.不一定是26一循环,只要字符串中有超过两个的字母,就要重新开始统计。ac代码:#include<cstdio>#include<map>#include<iostream>#include<cstring>using namespace std;char s[500005];int vis[100];stri...
2020-01-25 12:59:10 231
原创 Chessboard poj2446 匈牙利匹配 + 图建模棋盘染色
思路:给你一个n * m的棋盘,有hole。问能否在不遮住hole的情况下,将棋盘全部用1 * 2的矩形覆盖。分析图形,使用匈牙利匹配奇数坐标和偶数坐标,看是否能完全匹配即可。#include<iostream>#include<vector>#include<cstring>using namespace std;int vis[2500], vi...
2020-01-24 10:41:59 2674
原创 匈牙利匹配法思路 + 模板
总体思路是 -—— 为后来的人腾地方 + 找位置。俩个标记数组vis [i]- 记录出现过的点link【i】 - 代表 与 i配对的点Find函数 + Vector 单向建边。核心代码:判断该点是否已有配对 || 如果已经配对则使配对方修改对象,(腾地方 + 找位置)。模板传送门#include<iostream>#include<cstring>#i...
2020-01-23 21:15:33 262
原创 The Accomodation of Students 二分图染色 + 匈牙利最大匹配
传送门思路:n个同学,有的相互认识,问能否划分两组互相不认识的同学,并求出最大的相互认识的同学对数。先用染色法判断是否是二分图,再使用匈牙利匹配法判断最大的匹配数。#include<iostream>#include<vector>#include<cmath>#include<cstring>using namespace std;...
2020-01-23 19:26:27 153
原创 D - Place the Guards UVA - 11080
传送门思路:二分染色。根据题意,要求求出所需要的最少士兵。由于图不一定全部联通,所以要求出每一个联通图的最小士兵,同时 不要忘记独立的交汇口也需要有士兵。Ac代码#include<iostream>#include<vector>#include<cmath>#include<cstring>using namespace std;v...
2020-01-22 21:17:47 228
原创 E - Igor In the Museum 连通块dfs思维
传送门思路:每个连通块dfs一次,并记录所在连通块的Value。这样就做了一次剪枝。代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;char G[1005][1005];int vis[1005][1005];int cnt[100005];i...
2020-01-22 12:12:37 225
原创 图论:二分图染色思路 + 例题
思路:邻接表建图从某一点u作为父类开始染色1 如果发现u与v颜色相同 那么flag = false 即该图不是二分图。2 如果v并未染色 那么将其染成相反的颜色 再以v作为父节点找相邻的点染色3 如果u与v颜色相反 那么再去寻找u相邻的其他边注意!如果是连通图 那么一次dfs即可 如HDU3478AC代码:题意不用判断是否为连通图。一次dfs即可#include<iostre...
2020-01-21 22:40:48 572
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人