自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

姚军

富贵非吾愿,帝乡不可期。怀良辰以孤往,或植杖而耘耔。

  • 博客(53)
  • 收藏
  • 关注

原创 优先队列模板——洛谷

https://www.luogu.org/problemnew/show/P3378小知识:优先队列默认数字大的优先级高,即less#include #include using namespace std;priority_queueint,vectorint>,greaterint> > q;int main(){ int t,op,num; scanf("%

2018-01-31 16:20:07 303

原创 P3383 【模板】线性筛素数

https://www.luogu.org/problemnew/show/P3383相信大家都会埃式筛选,这里就不赘述了,先放个板子,以后容易找。//欧拉素数筛选 #include #include #define N 10000005#define LL long longLL prime[N];int p[N];void primeTable(int n){

2018-01-31 04:14:09 322

原创 最小生成树模板

https://www.luogu.org/problemnew/show/P3366#include #include using namespace std;const int maxn = 2000005; const int maxx = 5005;int root[maxx];int find(int x){ return x==root[x]?x:root[x

2018-01-31 03:11:36 319

原创 欧拉函数简单模板

欧拉函数简单模板 欧拉函数的性质:如果p是素数,则他的欧拉函数为p-1 #includetypedef long long LL;LL Euler( LL n){ LL ans = n; for(LL j =2;j*j <= n;j++){ if(n%j==0) ans = ans/j*(j-1); while(n%j==0) n /=

2018-01-31 01:40:38 170

原创 1129 Recommendation (25 分)

解题思路:主要是及时更新商品频率最高的次数,然后输出推荐的k件商品。 注意格式!#include#include#define N 50005using namespace std;int cnt[N];struct item{ int id,count; item(int a,int b):id(a),count(b){} bool operator c

2018-01-30 19:38:25 316

原创 1128. N Queens Puzzle (20)

https://www.patest.cn/contests/pat-a-practise/1128解题思路:重点掌握n皇后的判断,注意这道题是按列给出的数据,所以只用判断是否在同行或者同一对角线,同行的话就是纵坐标相等,对角线的话就是tan为正负1,但是直接除的话会出现向下取整,所以把分母上的数乘到右边,比较两者是相等还是,呈相反数。#include#define N 1005int

2018-01-30 16:10:34 283

原创 继续畅通工程【浙江大学】★★

题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。 输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1当N为0时输入结束。

2018-01-30 15:01:13 307

原创 欧拉回路【浙江大学】★

//无向图的欧拉回路判断 //1.图连通 //2.所有顶点的度为偶数 //有向图的欧拉回路判断 //1.图连通 //2.图中所有节点入度等于出度 #include#define N 1005int father[N];int num[N];int findFather(int x){ if(x == father[x]) return x; else{

2018-01-30 03:02:00 298

原创 最短路径问题

//这道题在HDU上好像超时了不知道什么原因#include #include using namespace std;const int N = 1005;const int INF =1000000000;int G[N][N],C[N][N];int d[N],c[N];bool vis[N];int n,m;void Dijkstra(int s){ fi

2018-01-30 01:59:53 201

原创 最短路【HDOJ2544】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544Dijkstra版本:#include #include using namespace std;const int N = 1005;const int INF =0xfffffff;int G[N][N];int d[N];bool vis[N];int n,m;vo

2018-01-30 00:40:53 199

原创 1083. List Grades (25)

https://www.patest.cn/contests/pat-a-practise/1083 排序#include#include#includeusing namespace std;struct E{ char name[15]; char id[15]; int grade; bool operator const E&b)cons

2018-01-28 04:27:42 195

原创 1023. Have Fun with Numbers (20)

*吐槽:这是一道表面字符串,实际上是大数的加法加上一点点散列。 但是我觉得我还是把代码写得太复杂了。*#include#includeint main(){ char str[25]; int arr1[10]; int arr2[10]; int s[25]; while(scanf("%s",str) != EOF){ m

2018-01-28 03:18:27 217

原创 1015. Reversible Primes (20)

https://www.patest.cn/contests/pat-a-practise/1015 吐槽:主要是一道素数的题,然后转换一下进制,很简单。这个是我的代码,之前出现了两个测试点没过,主要是0和1没处理好,后来单独加上了就过了。#include#include#include #define N 100005using namespace std;int p[N];

2018-01-28 02:49:20 239

原创 More is better【HDOJ1856】

http://acm.hdu.edu.cn/showproblem.php?pid=1856典型的并查集#include#include#include#define maxn 10000005using namespace std;int father[maxn];int isRoot[maxn];int mx;int findFather(int x){ if(

2018-01-27 22:02:47 213

原创 How Many Tables【HDOJ1213】

http://acm.hdu.edu.cn/showproblem.php?pid=1213并查集模板#include#include#include#define maxn 1005using namespace std;int father[maxn];int isRoot[maxn];int findFather(int x){ if(father[x]

2018-01-27 17:15:39 261

原创 1107. Social Clusters (30)

https://www.patest.cn/contests/pat-a-practise/1107吐槽:其实我所谓的吐槽就是把自己上过的当告诉大家,希望大家做题的时候认真点,别像我,错了这么多次才长记性。 这道题表面上是并查集的简单题,但是我的英语是真的烂,而且自己臆想了一段内容,本来是对人的并查,我搞成了对爱好的并查,最后怎么做都不对。 这个故事告诉我们一个道理,读懂题目是正确解答的第

2018-01-27 16:26:45 262

原创 1118 Birds in Forest (25 分)

https://www.patest.cn/contests/pat-a-practise/1118吐槽:这是道并查集的题,没有什么好说的,但是可以钻题目的空子还是要钻的,因为鸟的索引是连续的,所以鸟的总数就是其中最大的数,在输入的时候保存下来就行了,最后就是树的组数,主要把并查集构建起来,组数只要记录父节点等于自己本身的点。#include#include#define N 1001

2018-01-27 00:44:22 258

原创 分解因子

https://www.nowcoder.com/pat/2/problem/262吐槽:我以为这道题还是需要先存起来再直接输出,但是我觉得这么多数,都存起来,我也不知道怎么做,而且每个数因子还那么多,其实挺麻烦的。稍微改了一丢丢,其实和之前一道题,因子个数挺类似的。有兴趣的可以看看这道题。#include#define N 1000005int p[N]={0};int prime

2018-01-26 20:06:52 345

原创 1014因子个数

https://www.nowcoder.com/pat/2/problem/264 吐槽:必须要先计算好,然后直接输出,不然会超时。 主要是两个函数,一个素数表,一个因子个数#include#define N 100005int p[N]={0};int prime[N];int k=0;int f[N];void prime_table(){ for(int i=2

2018-01-26 16:56:25 450

原创 skew数【北京大学】

https://www.nowcoder.com/pat/2/problem/266 吐槽:找到权值公式x[k] = 2*x[k-1] +1,然后先算出来。#include#includeint x[50];int main(){ x[0]=1; x[1]=3; for(int i=2;i32;i++){ x[i] = 2*x[i-1] + 1

2018-01-26 16:12:58 495

原创 7-13 Insert or Merge (25 分)

https://www.nowcoder.com/pat/2/problem/267 吐槽:水题#include#includechar str[50];int change(int sum,int x){ memset(str,0,sizeof(str)); int k = 0,ans = 0; do{ int tmp = sum % x;

2018-01-26 15:59:44 395 1

原创 外星人的语言

https://www.nowcoder.com/pat/2/problem/268 吐槽:太简单!#include#includechar str[50];void change(int sum,int x){ memset(str,0,sizeof(str)); int k = 0; do{ int tmp = sum % x; if

2018-01-26 15:54:26 426

原创 1018数位和

https://www.nowcoder.com/pat/2/problem/270 吐槽:注意最后输出形式是r进制,不是十进制。#include#includechar str[50];void change(int num,int x){ memset(str,0,sizeof(str)); int k = 0,sum = 0; do{

2018-01-26 15:46:42 259

原创 1019进制回文数

https://www.nowcoder.com/pat/2/problem/272 吐槽:这道题很常见,稍微有点搞的就是这个2-16进制,但是不用害怕,这里把数转换为字符串之后不用再反转回来,因为回文数不管从后面遍历还是从前面遍历,是回文串就是回文串,不是回文串,反转以后仍然不是回文串。 主要是两个函数,一个转换进制,一个判断是否是回文串。#include#includechar

2018-01-26 15:34:24 574

原创 1025三角形

https://www.nowcoder.com/pat/2/problem/281 吐槽:说实话,这道题太坑了,如果只是简单的判断三角形,估计大家都会做,就是最长边小于其他两边之和。但是这道题数据超级大,所以还要用到大数加法。另外一点,不知道牛客网是什么编译器,我在DEVC++上都能编译通过,他就是要报错,主要是就是有段bool代码,我原来写的是:if(lena != lenb) r

2018-01-26 03:13:59 291

原创 1023考新郎

https://www.nowcoder.com/pat/2/problem/279 解题思路: 错排公式:f(n) = (n-1)*(f(n-1) + f(n-2)) n中选出m个人为C(n,m),所以ans = c(n,m) *f(n) #include #include #define N 22 typedef long long L

2018-01-26 01:19:49 371

原创 1001采花生

https://www.nowcoder.com/pat/2/problem/249 解题思路: 判断是否能在规定时间能采取尽可能多的花生,并且要返回。 采花生本身要花费一个时间单位。 而且要从大往小采。#include#include#includeusing namespace std;struct peanut{ int x;

2018-01-25 19:39:26 724

原创 畅通工程【浙江大学】★

题目描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( 注意:两个城市之间可以有多条道路

2018-01-16 13:38:29 308

原创 二叉树遍历【清华大学】★

题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 输入描述: 输入包括1行字符串,长度不超过100。 输出描述: 可能有多组测试数据,对于每组数据, 输出将输入字符串建立二

2018-01-16 01:11:27 391

原创 二叉排序树【华中科技大学】★

题目描述 二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值; 2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值; 3. 左、右子树本身也是一颗二叉排序树。 现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲

2018-01-16 00:28:37 445

原创 放苹果——北京大学复试上机

题目描述 把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。 输入描述: 输入包含多组数据。每组数据包含两个正整数 m和n(1≤m, n≤20)。 输出描述: 对应每组数据,输出一个整数k,表示有k种不同的分法。 示例1 输入 7 3 输出 8解题思路:可以看成递归

2018-01-15 15:57:55 330

原创 1016 部分A+B (15 分)

题目描述: 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入格式:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 输出格式:在一行中输出PA + PB的值。输入样例1: 386

2018-01-15 15:23:18 281

原创 找位置【华中科技大学复试上机】

题目描述 对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。 输入描述: 输入包括一个由字母和数字组成的字符串,其长度不超过100。 输出描述: 可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。1、下标从0开始。 2、相同的

2018-01-14 21:48:59 313

原创 ZOJ问题

题目描述 对给定的字符串(只包含’z’,’o’,’j’三种字符),判断他是否能AC。 是否AC的规则如下: 1. zoj能AC; 2. 若字符串形式为xzojx,则也能AC,其中x可以是N个’o’ 或者为空; 3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个’o’或者为空; 输入描述: 输入包含多组测试用例,每行有一个只包含’z’,’o’,’j’三种字符的字符串,字

2018-01-14 21:00:38 948

原创 1005 继续(3n+1)猜想 (25 分)

继续(3n+1)猜想 (25) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇

2018-01-14 20:15:00 336

原创 1043 输出PATest (20 分)

时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,

2018-01-13 00:25:10 209

原创 decoding

Encoding is the process of transforming information from one format into another. There exist several different types of encoding scheme. In this problem we will talk about a very simple encoding tec

2018-01-12 21:55:46 493

原创 今年暑假不AC【HDOJ2037】

解题思路:把每个时间段按照结束时间从小到大排列,如果结束时间相同则把开始时间按照从大到小排列。因为开始的时间越晚整个看电视的过程就比较短,多余的时间可以用来选择其他类型的节目,这样所看的节目就比较多了。#include #include #includeusing namespace std;struct AC{ int start; int end; boo

2018-01-12 21:53:12 357

原创 FatMouse' Trade【HDOJ1009】

题目描述 FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean. The warehouse has N rooms. The i-th room contains J[i] pound

2018-01-12 21:07:31 274

原创 A+B——华中科技大学复试上机

题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号”,”隔开。 现在请计算A+B的结果,并以正常形式输出。 输入描述: 输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 输出描述: 请计算A+B的结果,并以正常形式输出,每组数据占一行。 示例1 输入 -234,567,890 123,456,789 1,234 2,345,678 输出

2018-01-12 18:46:06 326

空空如也

空空如也

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

TA关注的人

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