balls专题

poj 3687 Labeling Balls(拓扑排序)

http://poj.org/problem?id=3687 非常坑的一道题,最后快要绕晕了。。 题意:有N个球,重量分别是1~N,给着n个球贴上标签。输入n,m代表n个球和m条边(a b),代表 标签为a的要比标签为b的轻。最后输出标签1~N对应的重量(注意是重量,而不是轻重关系),还有要注意“ you should output the one with the smallest weig

HDU 3635 Dragon Balls(带权并查集)

题目地址:HDU 3635 加权并查集水题。 用num数组维护该城市有多少龙珠,用times数组维护每个龙珠运输了多少次。num数组在合并的时候维护。times数组由于每个都不一样,所以要在找根的时候递归来全部维护。 最终,x龙珠所在的城市就是x节点所在的根,x结点所在的跟的num数组值是该城市的龙珠数。times[x]为该龙珠运输了多少次。 代码如下: #include <iost

hdu 4611 Balls Rearrangement(数学:推理+模拟)

一道很蛋疼的题 列出几组数据会发现是有规律的 一个数字可能会连续出现多次 虽然发现了规律,但是不知道该怎么写 看了大牛的博客。。。也是醉了 因为一个最小公倍数周期内结果是固定的,所以如果n>lcm,可以优化处理 这道题比较奇葩的地方是用scanf就wa,用cin就过了 代码如下: #include <cstdio>#include <iostream>#include <a

hdu3635Dragon Balls

并查集 对于转移次数,开始我自以为想出了一个效率很高的解法,就是在路径压缩的时候统计结点所在的层数,加到该结点的times值里面,也就是这样:  自己感觉还很良好,因为这样效率和原来几乎差不多,交上去却wa,原来,是没有考虑这样的情况: 如果在结点E或F进行查找并且压缩路径,就会成为这样(以find(e)为例): 这样在这里得到的C B E F的time

codeforces 553A Kyoya and Colored Balls 组合数学

题意: 有k种球,每种球有a[i]个。现在它们都放到一个袋子里,要求取出来的时候,第i种球完全取出来要在第i+1种球前面。问你有多少种取法。 思路: 比赛时没想出来。。。结果其实是很简单的。 倒过来统计就好了。 假设n = sum(a[i]); 首先先看第k种球,如果先把其中一个球放到最后一个位置,那么剩下的a[k]-1个球就是随便放,则有c[n-1][a[k]-1]种放法。

Poj 3687 Labeling Balls[拓扑排序]

题目链接:点击打开链接 很给力的道题,拓扑排序的应用,算是对TopSort认识更深了吧。 拓扑排序这里不做过多的解释,主要来说这道题的应用。 题目的意思就是给1——N质量的N个球贴标签,要求就是满足要求下的标签小的尽量轻。 没什么深入想,直接TopSort。果断WA,WA的。后来看题,发现了很多的问题。输出的是Label1-LabelN标签的重量。还有很多的问题没有看太清晰。 再看了几

hdu 5570 balls(高效)

题目链接:hdu 5570 balls 代码 #include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1005;int N, M;double A[maxn][maxn];int main () {while (scanf("%d%d", &N, &M) ==

dp + 计数,1954D - Colored Balls

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1954D - Codeforces 二、解题报告 1、思路分析 本题前置题目: 1953. 你可以工作的最大周数 通过前置题目可以知道如何计算两两不同数对序列的最大长度 我们记最大数量为ma,总数目为N 如果ma > N / 2, 那么划

Dropping Balls(UVA 679)

网址如下: Dropping Balls - UVA 679 - Virtual Judge (vjudge.net) (第三方网站) 二叉树 别说了,我只会模拟,最后用时530ms 结果算法书给出了一个优化的解法: 因为小球要么往左,要么往右,根据到这个点有几个小球可以推断出当前点的状态,根据要求的第几个小球可以推断在这个点有多少个球往左走了,多少个球往右走了 这样可以根据 I

Edu 18 Colored balls -- 题解

目录 Colored Balls: 题目大意: 思路解析: 代码实现: Colored Balls: 题目大意:            思路解析:         我们对于一个数n,如果分组大小超过了 根号n,那么便不可能将n 分为多个组,并且组间差距最大为1.         那么我们只需要找到数组a中最小的n,枚举 1-sqrtn,看其他数是否能满足这样的分组

两次入坑逆向拓扑序(POJ 3687 Labeling Balls and HDU 4857 逃生)

第一次跳坑 POJ 3687 Labeling Balls Description Windy has N balls of distinct weights from 1 unit to N units. Now he tries to label them with 1 to N in such a way that: No two balls share the same label

Contest1002 - HHU ACM 综合训练1 C题 Boxes and Balls(找规律)

题意:给定一个盒子,盒子里装着n个球。每次操作如下:给定一个空盒子,所有装有球的盒子都要给空盒子一个球,之后将没有球的盒子拿走按球个数排序。排序后的数字序列看做一个状态,有时候每次操作后状态保持不变。现在给定一个数m,问在不超过m的情况下可以保持状态不变的初始球数最大为多少。 思路:找规律。会发现只要出现1,2,3,4....这样的序列即可满足状态不变要求,即m为1+2+3+4+....的和。因

【HDU5570 BestCoder Round 63 (div1)C】【期望DP 公式化简】balls n种求m种颜色,同颜色球数为x贡献为x方 求期望

balls Accepts: 19 Submissions: 55 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) 问题描述 有nn个球,共有mm种颜色,第ii个球的颜色为jj的概率为\frac{a_{i,j}}{a_{i,1}+a_{i,

Nezzar and Colorful Balls

题目: Nezzar has n balls, numbered with integers 1,2,…,n. Numbers a1,a2,…,an are written on them, respectively. Numbers on those balls form a non-decreasing sequence, which means that ai≤ai+1 for all 1≤

Leetcode 1769. Minimum Number of Operations to Move All Balls to Each Box [Python]

从结果来看, boxes中的任意一位index中的元素如果为1,则向右边挪动到index+1的cost是1,index+2的cost是2,直到Len(boxes) - 1。同理此位置的1向左边挪动也是同理的cost产生。于是从左向右遍历一次,找到一个1,则往结果数组中以找到1的index+1为起始点,顺序增加cost。从左往右的cost计算则把res数组和boxes数组反过来,重复以上过程。 c

HDU - 3635 Dragon Balls

HDU - 3635 Dragon Balls 1.题面 传送门 2.解题思路 要求给出在一个并查集的元素中,每个元素在哪个集合中,该元素所在的集合中有几个元素,该元素参与了几次合并操作。我的并查集自然支持前两个操作。后一个操作实际上询问的是在一个并查集中某个元素到祖先的距离是多少。某个节点的移动次数等于自己父亲节点的移动次数+1,可以使用和记录集合个数一样的方法来记录。这里用的是暴力

679 - Dropping Balls (UVA)

题目链接如下: Online Judge 我的方法不是很直观....更简洁的方式在这里:UVa 679 - Dropping Balls_uva dropping balls-CSDN博客 我的代码如下: #include <cstdio>#include <cmath>// #define debugint l, d, k, loc, len;int main(){#ifdef de

Fire Balls 03—— 多个圆环以及圆环的变速变向

版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123优梦创客的官方博客:https://91make.top优梦创客的游戏讲堂:https://91make.ke.qq.com『优梦创客』的微信公众号:umaketop 您可以自由转载,但必须加入完整的版权声明! 目标 平台的组合场景的美化 平台的组合 首先,

Unity经典案例之:Fire Balls 多个圆环以及圆环的变速变向

版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123优梦创客的官方博客:https://91make.top优梦创客的游戏讲堂:https://91make.ke.qq.com『优梦创客』的微信公众号:umaketop 您可以自由转载,但必须加入完整的版权声明! 目标 使用脚本创建不同大小的圆环使用脚本创建

题解 CF1395A 【Boboniu Likes to Color Balls】

正文 具体思路 形成回文串条件: 1奇3偶 或 3奇1偶 或 全部为奇数或偶数 无法形成条件: 2奇2偶 r , g , b r,g,b r,g,b 中任意一个为 0 代码如下 #include <cstdio>using namespace std;int main() {long long n,r,g,b,w,cnt;scanf("%lld",&n);for(int i