UVa1646 - Edge Case
题目链接
Online Judge
题意
n个结点组成一个圈(n≥3),求匹配(即没有公共点的边集)的个数。例如, n=4时有7个(如下图所示),n=100时有792070839848372253127个。
题解
最终转化成了斐波那契数列。
记函数f(n)为所求,可以用n位二进制表示边集的状态,00...0表示空边集(没有边),100...0表示只有1条边。
考虑首条边在不在集合,只有两种形式:0xx...x、10xx...x0,记第一种形式的数量为a(n),第二种形式的数量为b(n),则 f(n) = a(n) + b(n)。
考虑第二种形式10xx...x0,总是可以在末尾添加一个1,变成10xx...x01,计数不变,但是位数从n变成了n+1,记为g(n+1) = b(n)。
同时,第二种形式去掉首位的1和末尾的0,就是0xx...x,变成了第一种形式,但是位数从n变成了n-2,则 b(n) = a(n-2)。
考虑第一种形式,首条边没用上,所以a(n)完全包含f(n-1),还有010xx...x01的形式没统计到,这正好是g(n-1),因此a(n) = f(n-1) + g(n-1)。
综上,f(n) = a(n) + b(n)
= [f(n-1) + g(n-1)] + a(n-2)
= [f(n-1) + b(n-2)] + a(n-2)
= f(n-1) + f(n-2)
UVa1646 - Edge Case相关推荐
- UVa1646 Edge Case
题意:n个节点组成一个圈,求匹配(没有公共点的边集)的个数. 思路:找规律.列举一下n=3,4,5的结果,观察出是一个斐波那契数列.因为结果很大,自己写一个高精度. #include <iost ...
- UVA 1646 Edge Case
https://vjudge.net/problem/UVA-1646 题意: n个点连成一个圈,求没有公共点的边集的个数 dfs出前10个,发现 n=3 ans=4 n=4 ans=7 之后 a ...
- UVA 1646 Edge Case
题意:n(3<=n<=10000)个结点组成一个圈,点顺次连接为边,求没有公共点的边集个数. 分析: 1.推规律,n=3有4个,n=4有7个,n=5有11个,n=6有18个,--,a[i] ...
- Edge Case UVA - 1646
问题 分析 f[n]代表由n条边组成一条直线,其中的匹配(没有公共点的边集)个数,d[n]表示n条边组成一个圈,其中的匹配个数,所以d[n]=f[n−1]+f[n−3]d[n]=f[n-1]+f[n- ...
- [UVa 1646] Edge Case
UVa 1646 手动模拟一下,发现是一个广义斐波那契数列,\(F_1=1,F_2=3,F_n=F_{n-1}+F_{n-2}\) 证明,,,懒得证,,, #include <vector> ...
- 初具雏形的UL标准侧重于自主车辆的安全性
初具雏形的UL标准侧重于自主车辆的安全性 Nascent UL standard focuses on autonomous vehicle safety 就任何自主汽车(AV)的安全性进行可信的争论 ...
- 自动驾驶汽车事故的责任追究
自动驾驶汽车事故的责任追究 Unraveling culpability in autonomous vehicle accidents 事故会发生,但达成一致的标准对建立监管机构和消费者对roboc ...
- 通往安全自动驾驶汽车的艰难道路
通往安全自动驾驶汽车的艰难道路 Tough road to safe autonomous vehicles 中国深圳-本周,来自多家领先汽车原始设备制造商(OEM)的自主驾驶专家齐聚美国汽车工程师学 ...
- 压缩人工智能的数据值
压缩人工智能的数据值 Squeezing the value out of data for AI 数据是一切-在许多方面,是唯一的东西-自动驾驶汽车(AVs)供应商依赖深度学习作为自动驾驶的关键. ...
最新文章
- jmeter web监听结果_JMeter 性能测试基本过程及示例
- 在AcGIS随着大数据的生成DEM
- Mysql 优化器内部JOIN算法hash join On-Disk Hash Join Grace Hash Join Hybrid hash join过程详解
- SAP Cloud Platform API management Policy Editor的高级用法
- 《科技之巅2》序——机器智能数据智能:工具之王
- git切换用户密码_Java小白入门,常用Git命令有哪些?
- 什么时候需要好教材和好教材是怎样的
- android 电话号码标记,强化电话标记功能 360手机卫士3.0安卓版体验
- 年轻人有梦想,老人有回忆
- Java练习02 打印三角形
- 《计算机操作系统》大作业【参考代码解读】
- 生信c语言面试题,c语言入门 java
- 《Java基础学习笔记》JAVA基础
- OpenCV 教程入门篇
- Eclipse中开发测试脚本
- 读取assets目录下的文件详细介绍
- 【日语】编程相关日语词汇
- 创业日志:一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝?
- 计算机应用 期刊 怎么样,《计算机应用研究》怎么样?投稿好中吗?
- Unity 粒子制作简单飞舞纸片特效