- 博客(21)
- 收藏
- 关注
原创 天梯赛训练题27 并查集
7-27 部落 (25 分)在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2]...
2019-02-25 20:13:53
225
原创 输出时的精度问题
一. 浮点数输出时自动四舍五入:情况1:double d=0.5;printf(".0lf\n",d);output:1情况2:double d=-0.5printf("%.0lf\n",d);output:-1二. ceil函数和floor函数:1. 1)函数原型: double ceil( double arg ); ...
2019-02-10 17:26:30
379
原创 读入数据的经验
数据1:2 E 01:30int a,c,d;char b[10];scanf("%d%s%d:%d",&a,b,&c,&d);/***********or:****************/int a,c,d;char b;scanf("%d %c %d:%d",&a,&b,&c,&d);读取的结果是:2 'E' ...
2019-02-10 17:02:40
230
原创 天梯赛训练题18
7-18 阅览室 (20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有...
2019-02-10 16:55:42
263
原创 刷题技能-对拍
一.实现对拍的4个文件:ac.cpp(ac代码) wa.cpp(错误代码) dat.cpp(生成数据用的) duipai.cpp(用来根据dat生成的数据对比ac代码和wa代码是否一致)二.实现对拍需要把4个文件放到哪里:建议直接放在一起,依次运行4个文件使之产生.exe文件(注意:把所有.exe文件放在同一路径下,再运行对拍程序),运行结果在duipai.cpp里面可见,对拍会产...
2019-02-06 22:36:29
253
原创 天梯赛训练题12
L2-4 秀恩爱分得快 (25 point(s))古人云:秀恩爱,分得快。互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张照片里,他们之间的亲密度就是所有这些同框照片对应的亲密度之和。下面给定一批照片,请你分析一对给定的情侣,看看他们分别有没有亲密度更...
2019-02-06 22:21:16
583
1
原创 天梯赛训练题10
L2-2 小字辈 (25 point(s))本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格...
2019-02-04 16:33:33
407
原创 天梯赛训练题9
题目描述 L2-1 分而治之 (25 分)分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。输入格式:输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两...
2019-02-03 15:54:26
223
原创 Currency Exchange POJ - 1860(bellman-ford判环)
原理bellman-ford 判环:一旦松弛n-1次后发现再松弛值会改变,则说明存在环。代码:#include<iostream>#include<cstdio>#define RPG(i,a,b) for(int i=(a);i<(b);i++)#define ll long long#define maxn 500using namespace...
2018-09-10 21:07:31
161
原创 Gym 101472G/UVALive 6054(树状数组或者更简单的方法?)
这题用树状数组还算是非常清晰明了的,可惜我竟不会直接暴力……每次从一个点i开始搜到长度为h的一段,然后吧,每一个点和i进行比较,一旦出现一个小于i的点就break,否则就进行单点更新,把i这个点++,和i比较的这个点--(前提是该点值是大于0的,否则跳过)最后查询一下区间和即可。代码:#include<cstdio>#include<cstring>#...
2018-08-29 01:05:08
223
原创 HDU 6446 Tree and Permutation(树形dp)
做法:会发现要走的道路数目是一样的。先全排列,得到n!种走法,比如n=3,那么有6种走法:123 213 312132 231 32112这条路看作是从定点1出发经过任意其他的定点最终到达定点2的一条道路1-2将道路1-2捆绑,和3一起进行全排列,就是道路1-2出现的次数——2次。因为走道路1-2和走道路2-1经过的路程和途径的其他顶点是完全一样的,我们将道路2-1也看...
2018-08-27 20:34:43
201
原创 UVA 1513-Movie collectio(树状数组)
理解树状数组的模板:就三部分组成:lowbit函数,区间求和函数( sum() ),单点更新函数( add() ),这表明了每改变区间中的某个点就必须调用一下add函数,因为一个点的改变会造成所有c数组里面其它元素的改变。那么什么是c数组呢?这个就是虚拟的一个数组,不知道为什么的可以去网上搜一下lowbit函数的原理,因为我们就是靠它来构造c数组。接着关于区间求和,我们是直接用sum(x)...
2018-08-21 19:44:04
178
原创 UVALive-4976(二分查找)
一个dp题。复杂度是n*logn(n是for循环从0到n遍历,logn是二分查找)思路:预处理:从前往后扫一遍,更新pre数组(记录每一个元素是子串中连续上升的第几个,如果a[i]>a[i-1],则a[i]=1.否则a[i]=a[i-1]+1,a[i]是题目给的)从后往前扫一遍,更新aft数组(记录每一个元素是子串中连续下降的第几个,如果a[i]>a[i+1],则a[i...
2018-08-18 22:22:27
141
原创 E - Enter The Dragon UVALive - 4977
不会写,所以我找到了一份十分优美的代码来学习:请自觉学习set的用法.因为set保证有序,而有序才能二分用lower_bound,返回set中大于某数的最小的值.思路:确保每一个下雨的池塘之前都被吸干.比如1001不符合,0101符合.我们只要找到下雨的池塘,再找之前一次出现的这个池塘.理论上之前出现的这个池塘应该是要被吸干的,所以我们找与之前一次出现的池塘后面的最近的0,用它来吸干这个池塘...
2018-08-16 20:13:25
252
原创 Partitioning by Palindromes UVA - 11584
Partitioning by Palindromes UVA - 11584简单dp,类似于背包问题.总体思路:取(i,j)这一段,如果验证其为回文串(扫一遍),则dp[i]=min(dp[i],dp[j-1]+1).dp[i]是到i这一点回文串的个数代码:#include <bits/stdc++.h>#define ll long long#define...
2018-08-11 13:39:44
232
原创 I - Producing Snow (CodeForces - 948C)
I - Producing Snow (CodeForces - 948C)题意:每天堆一堆雪,每一堆雪之间相互独立,每天都有一个温度Vi,雪会融化Vi(如果雪的体积小于Vi,则全部融化).求每一天融化的雪的体积.做法有二:思维+优先队列&&树状数组+二分1.思维+优先队列:题目等价于第一天生产了n堆雪,后面不再生产雪.如下:10 10 55 7...
2018-08-10 11:08:44
341
原创 斯特林公式近似求阶乘的位数
题目来源:https://www.nowcoder.net/acm/contest/75/A这条公式不可以直接用,有一个原因:我写了一个程序去测试斯特林公式(其实它至少约等于)发现随着输入数的增大,用斯特林公式求出来的近似值误差越来越大。斯特林公式只是求一个近似值!!所以两边取对数:log8(n!) 约等于 log8(斯特林公式),再次测试:log8(n!)随着n的...
2018-02-04 23:16:37
1535
原创 溢出与概率——斐波那契(不用大数的做法)
题目来源https://www.nowcoder.net/acm/contest/71#question C题此题唯一特色就是数特别大,斐波那契数列的第十万项的值超过longlong可存储的最大范围.用字符串读取.转为数字发生溢出,高位上的数自动被去除,无法读到完整数,读到的是f(一个不完整的最多20位的longlong形整数)。 然后从斐波那契第一项开始计算第二项,第三项……第i项
2018-02-03 23:35:59
3629
转载 poj 2342 深度搜索
问题描述:公司办晚会,每个人都有一个活跃度,为了气氛好,要求不能同时把上司和员工分在一起(约束条件)。让你去做出选择,尽力让总活跃度最大。很明显一个动态规划问题。 Sample Input71 //可以画棵树1111111 3 //L K,K是L的上司 3是1的上司2 36 47 44 53 50 0&l...
2018-02-01 15:35:16
212
原创 Bash Game,简单博弈
巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。拿19张卡片玩了一下,确实存在必胜策略,如下:这里,先设卡片总数为n,每次最多取m张,最少一张。情况1:后手必胜:只需满足m情况2:先手必胜:因为n>m+1,所以n总可以表示成n=(m+1)*r+s;其中r、s为>=1的正整数。先手第
2018-01-31 21:09:56
1240
4
原创 如何配win10 64位系统的java环境,以及下载什么软件写第一个java project比较好
1.到java官网下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html选择windows系统的2.下载java1.6http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-
2018-01-31 13:16:37
420
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人