uva1073 - Glenbow Museum

Uva 1073 - Glenbow Museum 解题报告(组合) The famous Glenbow Museum in Calgary is Western Canada's largest museum, with exhibits ranging from art to cultural history to mineralogy. A brand new section is being planned, devoted to brilliant co 阅读详情

The famous Glenbow Museum in Calgary is Western Canada's largest museum, with exhibits ranging from art to cultural history to mineralogy. A brand new section is being planned, devoted to brilliant computer programmers just like you. Unfortunately, due to lack of space, the museum is going to have to build a brand new building and relocate into it.

The size and capacity of the new building differ from those of the original building. But the floor plans of both buildings are orthogonal polygons. An orthogonal polygon is a polygon whose internal angles are either 90° or 270°. If 90° angles are denoted as R (Right) and 270° angles are denoted as O (Obtuse) then a string containing only R and O can roughly describe an orthogonal polygon. For example, a rectangle (Figure 1) is the simplest orthogonal polygon and it can be described as RRRR (the angles are listed in counter-clockwise order, starting from any corner). Similarly, a cross-shaped orthogonal polygon (Figure 2) can be described by the sequence RRORRORRORRO, RORRORRORROR, or ORRORRORRORR. These sequences are calledangle strings.

\epsfbox{p4123.eps}

Of course, an angle string does not completely specify the shape of a polygon -- it says nothing about the length of the sides. And some angle strings cannot possibly describe a valid orthogonal polygon (RRROR, for example).

To complicate things further, not all orthogonal polygons are acceptable floor plans for the museum. A museum contains many valuable objects, and these objects must be guarded. Due to cost considerations, no floor can have more than one guard. So a floor plan is acceptable only if there is a place within the floor from which one guard can see the entire floor. Similarly, an angle string is acceptable only if it describes at least one acceptable polygon. Note that the cross-shaped polygon in Figure 2 can be guarded by someone standing in the center, so it is acceptable. Thus the angle string RRORRORRORRO is acceptable, even though it also describes other polygons that cannot be properly guarded by a single guard.

Help the designers of the new building determine how many acceptable angle strings there are of a given length.

Input 

The input file contains several test cases. Each test case consists of a line containing a positive integerL (1$ \le$L$ \le$1000), which is the desired length of an angle string. The input will end with a line containing a single zero.

Output 

For each test case, print a line containing the test case number (beginning with 1) followed by the number of acceptable angle strings of the given length. Follow the format of the sample output.

Sample Input 

4 
6 
0

Sample Output 

Case 1: 1 
Case 2: 6

  用一个R和O的串能表示出多少个星形图形(在图形内找一个点能看见所有的顶点)。

  这样的图形序列中一定是(N+4)/2个R,(N-4)/2个O,并且O不能相连。这样转化成找长度为N,O不相连、R比O多4个的串有多少个。

  用dp[i][j]表示首尾都是R,一共i个R,j个相连的R(RRR算2个)

这样的串的个数。那么ans[i]=dp[R][3]+2*dp[R][4],R=(i+4)/2。dp[R][3]刚好R比O多4个,dp[R][4]R比O多5个,少一个O,可以把这个O放在串最前或最后,所以是2倍。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<string>
#include<map>
#include<iostream>
#include<algorithm>
#define MAXN 1010
#define MOD 1000000000
using namespace std;
int N;
long long dp[MAXN][6],ans[MAXN];
void init(){
    memset(dp,0,sizeof(dp));
    dp[1][0]=1;
    for(int i=2;i<MAXN;i++)
        for(int j=0;j<5;j++){
            dp[i][j]=dp[i-1][j];
            if(j) dp[i][j]+=dp[i-1][j-1];
        }
    memset(ans,0,sizeof(ans));
    for(int i=4;i<MAXN;i++){
        if(i%2) continue;
        int R=(i+4)/2;
        ans[i]=dp[R][3]+2*dp[R][4];
    }
}
int main(){
    //freopen("in.txt","r",stdin);
    int cas=0;
    init();
    while(scanf("%d",&N),N){
        printf("Case %d: %lld\n",++cas,ans[N]);
    }
    return 0;
}



YOLOv5轻量化实战:从Ghost模块到工业级部署的完整指南 本文详细介绍了YOLOv5轻量化实战,重点解析了Ghost模块在工业检测中的应用及其优化策略。通过Ghost卷积技术,模型参数量和GFLOPs显著降低,同时保持高精度,适用于实时性要求严格的工业场景。文章还提供了从模型优化到TensorRT加速的完整部署指南,助力开发者实现高效工业级应用。 阅读详情

相关推荐

告别GIS软件!用R语言ggplot2+ggmapcn绘制出版级世界地图(附5种投影对比图)

本文提供了一份完整的实践指南,教你如何利用R语言及其强大的ggplot2生态系统,结合ggmapcn包,绘制出出版级的世界地图。文章详细对比了五种经典地图投影(如摩尔维德、罗宾森投影)的代码实现与视觉差异,并讲解了如何添加比例尺、指北针等专业元素,最终导出高清PDF,实现从数据分析到专业可视化的全流程代码化操作,彻底告别传统GIS软件。

p5l2m9n4o6q的博客 407

UVALive - 4123 && ALGO-165 Glenbow Museum(排列组合)

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T461点击打开链接 算法训练 Glenbow Museum   时间限制:1.0s   内存限制:256.0MB      问题描述   卡城著名的格林堡博物馆是加拿大西部最大的博物馆,展品涵盖了艺术、文化史以及矿物学。如今一个全新的展区正在被布置,它是专门为你这样杰

xuejye的博客 1212

AI代码标注专家Prompt指令的最佳实践

AI代码标注专家 Prompt 可作为项目级别提示词使用,专门负责为 AI 生成的代码添加特定的注释标记,然后基于 Node 脚本可以初步统计出 AI 代码占比。

💻 Code:TypeScript / Engineering 🤖 AI:Prompt Optimization / Context Memory / Coding Agents 615

uva1073 Glenbow Museum【解法一】

动态规划

YHaX的博客 527

银河麒麟V10 SP3系统下如何安全安装gcc-toolset-10(附yum仓库避坑指南)

本文详细介绍了在银河麒麟V10 SP3系统中安全部署gcc-toolset-10的完整方案。核心在于通过配置默认禁用的yum仓库(如EPKL仓库)并配合--enablerepo参数进行精准安装,有效规避依赖冲突风险,实现与系统默认GCC 7.3的稳定共存。文章还提供了多版本环境切换、系统维护及故障排查的实用指南,确保操作的可控与可逆。

h0i1j2k3l的博客 589

【暂时完结】Prescan学习笔记

Prescan学习记录1. Prescan基础知识1.1 Conventions·坐标1.2 Road segment·道路片段1.2.1 让一个路段连接其他两个路段1.2.2 配置车道线1.2.3 Road marking·道路标志1.3 Trajectory·轨迹1.3.1 建立一个Path·路径1.3.2 配置Speedprofile1.3.3 Synchronization of Trajectories·轨迹同步1.3.4 Multiple trajectories · 多轨迹分配 1. Pres

dreautumn的博客 1万+

uva 1073 - Glenbow Museum(递推)

题目链接:1073 - Glenbow Museum 题目大意:一个边平行与坐标轴的多边形,可以通过描述角的方式来表示,R表示90度,O表示270度,现在给出序列的长度L,问可以构造出多少种不同的多边形,要求构造出来的多边形在内部有一点可以看到边界的每一个点(我的理解应该是凸多边形)。 解题思路:首先确定是一个凸多边形,所以不可能有两个O相邻,并且在整个序列中,要有4个的RR(即两个R

不慌不忙、不急不躁 1699

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 424

Glenbow Museum UVA - 1073

#include&lt;bits/stdc++.h&gt; using namespace std; #define rep(i,a,b) for(int i=a;i&lt;b;i++) typedef long long ll; bool is_prime(int x){if(x&lt;2)return false;int m=sqrt(x+0.5);rep(i,2,m+1)if(x%i...

海绵的博客 247

ESP8266入门(一)固件烧录及常见问题分析

为了实现对数据的远程收集和分析,偶然间发现了esp8266这个模块,对此进行了深入的学习,可是在学习之初遇到了大量的问题,这个系列文章就为大家讲讲我遇到的坑以及解决办法,还有esp8266如何连上oneNet云平台的方法。因为我用的是esp8266nodemcu,可以直接连接usb进行烧录,如果用模块的话接线就比较麻烦,可以去搜搜看.

Jerryxuzherui的博客 8955

03 - AMDGPU驱动架构概览

本文介绍了AMDGPU驱动的整体架构,重点分析其图形驱动(AMDGPU)和计算驱动(KFD)的双重结构。KFD驱动作为HSA架构的核心组件,包含进程管理、设备管理等模块,其中SVM功能在kfd_svm.c实现。文章详细解析了KFD的核心组件、初始化流程及字符设备接口,并阐述了TTM框架在GPU内存管理中的作用。通过架构图和代码片段展示了AMDGPU与KFD的协作机制,为后续深入理解SVM实现奠定基础。

图形/计算GPU的驱动与虚拟化技术分享园地 3370

UVa 1073 Glenbow Museum

本文分析了Glenbow博物馆正交多边形展区的可接受角度字符串计数问题。题目要求长度为L的字符串中R(90°角)和O(270°角)满足特定条件:R比O多4个,且无连续两个O或首尾同时为O。通过动态规划方法,考虑以R或O开头的两种情况,统计满足条件的序列数量。最终解决方案的时间复杂度为O(L³),空间复杂度为O(L²),能有效处理L≤1000的输入。样例验证表明该算法正确计算了可接受字符串的数量。

寂静山林 1139

YOLO11改进-模块-引入多尺度差异融合模块MDFM

MDFM主要用于融合双时相图像特征并生成带有丰富上下文信息的差异特征,其过程包含以下步骤:1. 特征提取与差异特征生成首先从双时相图像中提取特征f1和f2,然后将f1和f2进行像素级别的相减,再对相减结果取绝对值,最后通过一个3x3的卷积操作得到Di。2. 多尺度特征融合(MSFF)接着利用多尺度特征学习机制来增强特征融合效果。该机制通过不同核大小的卷积构建多尺度融合过程,具体是通过一个名为 MSFF 单元来实现的。

qq_64693987的博客 4379

uva1073 Glenbow Museum【解法二】

动态规划

YHaX的博客 495

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

UVA1073 Glenbow Museum

数学题

ACoder 277

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

UVa1073 Glenbow Museum

可以把R看成顺时针转90°,O看成逆时针转270° 设R有x个,则180*(n-2)=90*x+270*(n-x) 解得R有(n+4)/2个 O有(n-4)/2个 所以n<4或者n是奇数时无解。 确定有解时,可以DP解决。 设f[第i位][R比O多j个(j的范围为-1到5)][首位是不是O][末尾是不是O]=方案数 1 /*by SilverN*/ 2 #includ...

weixin_34117522的博客 74

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

UVA---1073:Glenbow Museum【dp or 组合数】

题意: 给定顶点数L,求L个顶点围成的多边形的角度字符串有多少个不同的 分析: XJB分析,开始4个顶点可以围成唯一的一个,替换掉其中的一个R,只能用ROR去替换,才能使其封闭,那么只有从4开始的偶数才有解,且O的数量为 :(L-4)/ 2,R的数量为:L - (L-4) / 2 简化成:给定x个O和y个R,求组成的字符串有多少个,且满足不能有两个O相连(首尾也要算) 方法1:排列组合 ...

KobeDuu 325

UVA 1073 - Glenbow Museum(数论+计数问题+递推)

题目链接:1073 - Glenbow Museum 白书上的例题,需要一定的推理。 首先要把问题转化,推理出n个点,R的个数为(n + 4) / 2, O的个数为(n - 4) / 2个,因为首先四个角必须为R,然后在中间添加O点,每有一个O点就要多一个R点,所以最后R点比O点多4。 然后问题就转化为给定n个R点和m个O点,求出有多少个序列,要求O点不连续,并且R的连续个数不能超过4,的序

Remilia's 2029

uvaoj 1073 - Glenbow Museum

题解: 1.发现只可能有4个R和若干个OR 2.算出这些符号的排列组合 3.注意如果这里面不包括O在最后一位的情况,所以需要在这些情况下加上最后一个OR后面没有R的情况,其实就是把序列右移一位使得最后一位是O的情况数 总结: 1.这次自己思考的方法比汝佳哥简单一些,很是开心 2.这次思考题目的节奏很是优秀,思考一段时间,想不到了就做些别的事情,一点点攻破难关!而且效率很高,节约了时间#i

c337134154的专栏 434

UVALive 4123Glenbow Museum

题意:给定一个长度L。求满足'O'.'R'表示的长度为L的边平行于坐标轴的多边形有多少种。并且在多边形内的任意一点都能直接看到每个顶点。 分析:《算法竞赛入门经典训练指南》数学基础例题6。在分析完数量差是4之后,我是直接用的组合数求,不是像刘汝佳一样的递推。 代码: #include #include #include #include #include #include #include

Fsss 801

uva1073(数论)

题意:一个边平行与坐标轴的多边形,可以通过描述角的方式来表示,R表示90度,O表示270度,现在给出序列的长度L,问可以构造出多少种不同的多边形,要求构造出来的多边形在内部有一点可以看到边界的每一个点(我的理解应该是凸多边形)。 思路:首先确定是一个凸多边形,所以不可能有两个O相邻,并且在整个序列中,要有4个的RR(即两个R相连,用于转向),所以R的个数应该比O的个数多4,一个O再一个R等于

潜水的程序猿 519

UVa OJ 1073

#include #include const int maxn=1000; long long d[maxn+1][5][2],ans[maxn+1]; int main(){     memset(d,0,sizeof(d));     for(int k=0;k        d[1][0][k]=1;        for(int i=2;i            for

478

LA 4123 Glenbow Museum 葛伦堡博物馆

题意:对于一个边平行于坐标轴的多边形,我们可以用一个由R和O组成的序列来描述它:从某个顶点开始按照逆时针顺序走,碰到一个90°的内角记R;碰到一个270°的内角记O。这样的序列称为角度序列。定义星型多边形为多边形中存在一个点可以看到多边形边界上每一个点。现在给定正整数n,求有多少个长度为L的角度序列至少可以对应一个星型多边形。其中多边形的每条边长任意。

FirstLucker 2322

uva1073-组合数学

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3514 题意一个长度为n的字符串包含x=(n-4)/2个O与y=(n+4)/2个R,且两个O不能相邻,O不能同为首尾的字符串方案数 思路组...

测试 369

Glenbow Museum LA4123

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

霁月难逢 彩云易散 610

java实现 算法训练 Glenbow Museum  (蓝桥杯算法训练)

//ALGO-165 Glenbow Museum 数学 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int i=1; int l; long count; ...

伤感的博客 457
上一篇: uva11361 - Investigating Div-Sum Property 数位统计DP
下一篇: uva10883 - Supermean 杨辉三角
小小小小葱
博客等级 码龄14年 22粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值