题目来源: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.使得…
题目来源:UVA 624 题目的意思就是:我现在需要从 t 张CD中拿出一部分来,尽可能的凑出接近 N 这么久的音乐,但是不能超过 N. CD不超过20张,每张长度不超过 N ,不能重复选. 一个很简单的0-1背包.因为最多只有220 = 1048576种可能,所以即使是枚举所有情况都可以毫无压力的搞起. 我这里用的DFS进行枚举,然后得到最好的结果. 最后需要说的是,此题是特判的.输出CD的长度的时候是无序的. 附AC代码: 1: #include <stdio.h> 2: #include…
题目来源:CodeForce #27 A 题目的意思简而言之就是要你输出一个没有出现过的最小的正整数. 题意如此简单明了,做法也很明了. 直接读入所有的数,然后排个序,设置个变量从1开始,出现过+1,没出现过输出并break 1: #include <stdio.h> 2: #include <iostream> 3: #include <math.h> 4: #include <stdlib.h> 5: #include <string.h>…
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Given the number n, find the smallest positive integer which has exactly n divisors. It is guara…
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Given the number n, find the smallest positive integer which has exactly n divisors. It is guara…
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Given the number n, find the smallest positive integer which has exactly n divisors. It is guara…
本套题没有什么数据结构题,图论题,唯一有价值的就是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 #15 A 现在有 n 间正方形的房子,其中心点分布在 X轴 上,现在我需要新建一间边长为 t 的房子,要求新房子至少和一间房子相邻,但是不能和其他房子重合.请输出我有多少个位置可以选. 先分析一下: 因为现在要建一间边长为 t 的房子,而且要有一间房子与之相邻.所以,只有两种可能:第一种,在两端头.第二种,两间房子之间的间隔>= t. 分析完之后,做法已经是显而易见的了.首先,最少能建2间房子(在两端头).然后就是遍历所有中心点,来计算房子间的距离,来判断能不能建…
链接: 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个子串.这…