HNU暑假训练第一场C.Ninja Map】的更多相关文章

一.题目大意 Intersections of Crossing Path City are aligned to a grid. There are N east-west streets which are numbered from 1 to N, from north to south. There are also N north-south streets which are numbered from 1 to N, from west to east. Every pair of…
链接:https://ac.nowcoder.com/acm/contest/881/J来源:牛客网 题目描述 Bobo has two fractions xaxa and ybyb. He wants to compare them. Find the result. 输入描述: The input consists of several test cases and is terminated by end-of-file. Each test case contains four int…
本套题没有什么数据结构题,图论题,唯一有价值的就是Q题博弈,在最后面,读者可以直接拉到最下面. (还剩下两个,估计每什么价值的题,懒得补了 M .Polyhedra pro:欧拉公式,V-E+F=2:给定V,E,求F sol:F=E-V+2: #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ; int main() { int T; scanf("%d&q…
题目来源:CodeForce #27 E 题目意思和题目标题一样,给一个n,求约数的个数恰好为n个的最小的数.保证答案在1018内. Orz,这题训练的时候没写出来. 这道题目分析一下,1018的不大,比264要小,所以这题可以枚举. 一个数 A 可以分解成 p1k1 * p2k2 * -- * pnkn 其中p为素数.这样分解之后,A的因子个数 S = (k1+1) *( k2+1) * -- *( kn+1) 然后用dfs枚举 + 剪枝. 剪枝的话大于现有结果return.就这样就能AC了.…
题目来源:CodeForce #27 B 有n个人比赛,两两之间都有一场比赛,一共 n * (n - 1) / 2 场比赛.每场比赛的记录方式是 a b,表示在a和b的比赛中,a胜出,b失败. 经过研究发现,输赢有传递性,例如:a赢了b,b赢了c,那么a一定会赢c. 现在,比赛记录发现丢了一场,请输出这一场的比赛记录.输出可能的结果中的一个就OK. 直接暴力可做.首先,利用一个二维数组,记录两人是否比赛.得到了丢失了一场比赛的两位选手a, b之后,按照输赢的传递性直接找有没有出现一个人c.使得…
链接: https://www.nowcoder.com/acm/contest/139/I 题意: 给出一个n(1≤n≤5e4)个字符的字符串s(si ∈ {a,b,c}),求最多可以从n*(n+1)/2个子串中选出多少个子串,使得它们互不同构.同构是指存在一个映射f,使得字符串a的每个字符都可以映射成字符串b的对应字符.例如ab与ac.ba.bc.ca.cb都是同构的. 分析: 以字符串abba为例:现在只考虑这个字符串的2个子串ab和ba,如果不考虑重构,有2个子串,否则,只有1个子串.这…
链接: https://www.nowcoder.com/acm/contest/139/D 题意: 两个无向简单图都有n(1≤n≤8)个顶点,图G1有m1条边,图G2有m2条边,问G2有多少个子图与G1同构. 分析: 枚举所有的映射方案,再判断合法性,把每一合法映射所用到的边状态压缩一下,装到集合里去重即可. 代码: import java.io.*; import java.util.*; public class Main { Scanner cin = new Scanner(new B…
Turn the pokers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 108    Accepted Submission(s): 21 Problem Description During summer vacation,Alice stay at home for a long time, with nothing to…
题意:给一个无向图,给起点s,终点t,求最少拆掉几条边使得s到不了t,最多拆几条边使得s能到t 思路: 先跑一边最短路,记录最短路中最短的边数.总边数-最短边数就是第二个答案 第一个答案就是在最短路里面求最小割,也就是求最大流,然后依据最短路在建个新图.权为1.跑一边网络流 模板题.以后就用这套模板了 #include <iostream> #include <cstdio> #include <cstring> #include <queue> #incl…
啊今天有点挂机啊 D题和队友暴力后发现一组数据跑得飞快 然后遇上1e5组数据就没了..... 然后我疯狂优化暴力 然后去世了 最后半小时F也没写出来 主要还是最后有点慌并且没有考虑清楚 导致情况越写越多最后写了23个if 这肯定是完蛋了啊 A:签到 #include <bits/stdc++.h> #define int long long typedef long long ll; using namespace std; ; int n, a[N]; void ss() { cin >…