USACO1.2 Name That Number 解题报告

别再只盯着照片了!手把手教你用Python提取大疆照片里的GPS、姿态和RTK数据 本文详细介绍了如何使用Python提取大疆照片中的GPS、姿态和RTK数据,帮助用户解锁无人机拍摄照片中的隐藏元数据。通过实战代码示例,展示了如何解析EXIF格式的定位、姿态和RTK状态信息,并实现批量处理与数据分析,适用于测绘、农业巡检等专业领域。 阅读详情

解题思考顺序:

Attempt:很简单的把字典读进去了顺序查找,然后又很天真的把数字用递归进行了全排列,自己在本机上实验的结果很理想。。可是悲剧的就是严重超时!

Attempt:后来试着不用递归求出全排列,貌似还是很困难的。。卡住了很久很久。。至今没有编出来,还是代码能力不行

Attempt:我在别人的解题报告中也发现了有同样超时的问题,他也试过,二分查找字典也是很慢的,同样超时。。。

Final:经过网上搜索。。突然看到作者提示,从字典出发匹配数字。这也就是枚举的难点所在!

本题体现出了枚举的难点:枚举的方式

枚举的方法决定了这次大工程的耗时情况,比方说顺序查找算法复杂度为O(5000×3^12),二分查找的复杂度为O(3^12log5000)同样有一个3^12很大的系数。后来的方法只需要O(5000×12)的复杂度。

从这一点就可以看出有的题目可以使用枚举法,但是枚举的方式特殊,需要先思考问题,并且思考问题的时候要心里记得出其不意,正反思考!

下面贴出我的程序(这也是有史以来我感觉usaco最短的程序了):


/*
ID: ******
PROG: namenum
LANG: C++
*/
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<fstream>
using namespace std;
    FILE*fp;
    int map[100],len,flag,i,FLAG=0;
    char s[1000],t[1000];
int main()
{
    map['A']=2;map['B']=2;map['C']=2;map['D']=3;map['E']=3;map['F']=3;
    map['G']=4;map['H']=4;map['I']=4;map['J']=5;map['K']=5;map['L']=5;
    map['M']=6;map['N']=6;map['O']=6;map['P']=7;map['R']=7;map['S']=7;
    map['T']=8;map['U']=8;map['V']=8;map['W']=9;map['X']=9;map['Y']=9;
    fp=fopen("namenum.in","r");
    fscanf(fp,"%s",&s);
    len=strlen(s);
    ifstream cin("dict.txt");
    ofstream cout("namenum.out");
    while(cin>>t)
    {
        if(strlen(t)==len)
        {
            flag=1;
            for(i=0;i<len&&flag;i++)
                if(map[t[i]]!=s[i]-'0')
                    flag=0;
            if(flag==1)
            {
                FLAG=1;
                cout<<t<<endl;
            }
        }
    }
    if(FLAG==0)cout<<"NONE"<<endl;
    return 0;
}

经过最近的一些日子不断的刷题,代码能力增进不少,从以前的几行代码都要调试,到现在30行内的不用调试,值得我自己庆祝一下的。但是还有很大的发展空间,就像有篇文章里面所说,要达到100行以内不需要调试,还是有很大的差距的。

Open3D 可视化(1)——简单可视化【2026最新版】 简单可视化,博客长期更新,本文最新更新时间为:2026年5月10日。 阅读详情

相关推荐

一代测序、二代测序以及三代测序的优缺点及应用对比?

一、初现庐山真面目 一代测序:又称Sanger测序(多分子,单克隆) 历史:第一代DNA测序技术(又称Sanger测序)在1975年,由Sanger等人开创,并在1977年完成第一个基因组序列(噬菌体X174),全长5375个碱基。研究人员经过30年的实践并对技术及测序策略的不断改进(如使用了不同策略的作图法、鸟枪法),2001年完成的首个人类基因组图谱就是以改进了的Sanger法为其测序基础。 原理:在4个DNA合成反应体系(含dNTP)中分别加入一定比例带有标记的ddNTP(分为:ddATP...

wangprince2017 3万+

【USACO题库】1.2.3 Name That Number命名那个数字

题目描述 在威斯康辛州牛大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印。 但是,母牛用手机时并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句"C'mon, #4734, get along."。 请写一个程序来帮助可怜的牧牛工将一只母牛的烙印编号翻译成一个可能的名字。 因为母牛们现在都有手机了,使用那标准的按键的排布来把收到从数目翻译到

某司机的黑车 1034

本科双非的计算机考研择校注意点——经验贴

一战一志愿上岸某211的电子信息专硕。之前在某乎也发过帖子。但现在用优快云,所以把相关的心得再发出来仅供大家参考。 首先,我认为最重要的是你为什么要考研? 不管你是为了混一个文凭将来好进大厂,还是为了真正搞学术或者学知识,你要知道你自己的目标,只有坚定自己的目标,才有动力去走完这段复习的历程。真正的考研,是很苦的。如果你是为了逃避大四面临的就业才选择考研,并且还浑浑噩噩不当回事,那我劝你放弃,不如踏踏实实学点技术去找实习。那从我自己出发,我是认为自己本科双非院校且自己四年间没有学到什么专业方面的技能,

m0_56698268的博客 3164

USACO 1.2 Name That Number (AD-hoc)

USACO 1.2 Name That Number 题解

芝兰生于深谷,不以无人而不芳 967

腾讯2020 unreal虚幻面试题

解析一下,腾讯的unreal客户端面试题: 1.lua性能优化的方向 申请的内存,是造成卡顿的原因之一,在C++与lua交互中,如果参数或者返回值有类变量,那么这个变量不会再交互的栈中存放数据,而会通过申请内存,再指定在交互,这样就造成卡顿,因此可以通过把C++的对象的每个参数分开单独传递,可以解决问题,当时我们游戏改完这个问题后,整体提升了2帧。 其实,主要是Tick循环中,减少与C++的交互,需要的数据不要每帧都去拿,其次,经常拿的一些数据(比方说主角信息),可以做一个lua缓存,...

qq_17347313的博客 1万+

避坑指南:SpringBoot对接拉卡拉支付常见问题与解决方案(含SDK 1.0.6配置技巧)

本文是一份SpringBoot项目对接拉卡拉支付的实战避坑指南。针对SDK 1.0.6版本,详细剖析了从依赖管理、多环境配置、SDK初始化到支付请求构建、回调验签及生产监控的全流程常见问题,并提供了经过验证的解决方案与配置技巧,旨在帮助开发者高效、稳定地集成支付功能。

k5l6m的博客 330

【USACO TRAINING】Name That Number命名那个数字

Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to please the Accounting Department. The cow hands don't appreciate the advantage of this filing system, th

geng4512的专栏 1574

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 998

USACO Training Section 1.2 Name That Number 解题报告&AC代码

解题报告: 这道题可以比较直白的办法,就是建立一个真假表格,验证是不是每一位都符合条件,一旦不符合,表格的这个位置为假,最后扫一遍表格,找出那些可以就行啦。 AC代码: /* ID: yuanmz91 PROG: namenum LANG: C++ */ #include #include #include using namespace std; const int DICT_L

堆放杂物 787

超声相控阵合成孔径成像FPGA设计介绍

1.仿真预览 2.理论分析 系统的基本结构如下所示: 以上是实际中完整的结构,系统中会涉及到两块板子中的时钟,这个就是设计一个时钟采样同步的问题,即所谓的时钟同步。一般这种情况,往往使用内插的方式来解决。这是由于,在实际中,超生波接收到的信号是由本身系统发送出去反射回来得到的,因此从另外一方面将,其是同步的。但是在接收的时候通过内插的方法解决其中的延迟问题。 根据论文中的介绍,整个系统分为如下几个部分: ·模拟发送信号,这个部分由MATLAB产生测试数据并量...

FPGA/MATLAB学习教程/源码/项目合作开发 2069

Open3D (C++) 点云边界提取【2025最新版】

Compute the boundary points of a point cloud.The implementation is inspired by the PCL implementation. Reference:https://pointclouds.org/documentation/classpcl_1_1_boundary_estimation.html

点云侠的博客 871

USACO Section1.2 Name That Number 解题报告

    namenum解题报告—— icedream61 博客园(转载请注明出处)------------------------------------------------------------------------------------------------------------------------------------------------【题目】   你有一个手机...

weixin_30877227的博客 131

Eplan设计师必会—伺服安全回路的设计方法

本文介绍了在EPLAN中设计伺服STO安全回路的方法。首先需查阅伺服驱动器说明书确定STO接线端子,重点关注双通道配置。设计步骤包括:使用黑盒子功能绘制驱动器外形,正确标注STO接线点,并连接安全继电器或PLC的安全输出。关键注意事项有:必须采用双通道独立布线,确保同步动作,遵循故障安全原则,使用常闭触点串联回路。文中以西门子V90和汇川伺服为例说明具体接线要求,并附有项目实例参考。

Qinmingyue13的博客 436

[USACO1.2]命名那个数字 Name That Number (DFS&暴力)

[USACO1.2]命名那个数字 Name That Number (DFS&暴力) 题意:给一编号按特定规则转化的字符串,问是否能在给定字典中查找到并按字典序输出。 题目传送门 思路1:DFS 编号对应的每个字符串,用vis[]标记字典中的进行比较。时间复杂度不确定:最大可大O(2^12)会炸。必须开O2||O3优化才能过 思路2:对字典的字符串转化为数字与编号比较。由于字典中的字符串只...

Harris-H的博客 775

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[USACO 1.2.3] Name That Number

[题目描述] Name That Number 命名那个数字 在威斯康辛州牛大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印。 但是,母牛用手机时并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句"C'mon, #4734, get along."。 请写一个程序来帮助可怜的牧牛工将一只母牛的烙印编号翻译成一个可能的名字。 因为母牛

_Nirvana 553

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

USACO Name That Number 解题日志

先贴上题目吧。 Name That Number Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to please the Accounting Department. The cow hands don't appreciate the ad

菜鸟の小窝 586

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

USACO 1.3 Name That Number 翻译&解题报告

Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to please the Accounting Department. The cow hands don't appreciate the advantage of this filing system, th...

竹喧的博客 469

[USACO1.2]命名那个数字 Name That Number

https://www.luogu.org/problemnew/show/P3864 /* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include&...

无限迭代中...... 655

USACO 1.2.3 Name That Number 命名那个数字

Name That Number Among the large Wisconsin cattle ranchers, it is customary to brandcows with serial numbers to please the Accounting Department. The cowhands don't appreciate the advantage of this

才子年华 1007

usaco Name That Number 解题报告

题意: 在威斯康辛州牛大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印。但是,母牛本身并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句"C'mon, #4734, get along."。请写一个程序来帮助可怜的牧牛工将一只母牛的烙印编号翻译成一个可能的名字。因为母牛们现在都有手机了,使用那标准的按键的排布来把将数目翻译为文字:( 除了 "

李世操的空间 1153

USACO 1.2 Problem 3 Name That Number

开始好好写解题报告的代码注释了呜呜。 题目概述: 把中心翻译过来:要给奶牛命名,一个奶牛有好几种可能的名字,找到在字典中出现过的奶牛的名字。 字典包含5000以下的字符串,每个字符串小于20字母。 算法思想: 其实可以自然而然有两种想法,第一种是读入一个数,然后计算出其所有可能出现的组合。比如题中的4734所对应的各种奇怪字母字符串。然后对于每一个字符串,都去字典

Oh233的专栏 767

国产实时操作系统鸿道Intewell:半导体装备的微秒级确定性底座

实时操作系统(RTOS)是工业控制系统的“发令枪”,其核心价值不在于处理速度有多快,而在于任务响应时间的确定性——即最坏情况下的延迟可预测、可计算。通用操作系统追求吞吐量与公平调度,难以满足半导体装备中运动控制、总线同步等微秒级时间窗口的苛刻要求。微内核架构通过精简内核功能、隔离驱动故障,配合静态优先级抢占式调度,为确定性提供底层支撑;而虚拟化技术则让实时控制与通用计算共享一颗芯片,兼顾功能安全与生态兼容。在晶圆搬运、腔室压力控制、EtherCAT总线同步等典型场景中,国产实时操作系统鸿道(Intewell

weixin_34122604的博客 273

USACO Section 1.2 Name That Number

在一个名为“dict.txt”的文件中提供了牛的可接受的名称,其中包含少于5,000个可接受的牛名称(所有字母大写)的列表。拿一个牛的品牌号码,并报告该数字地图在给定字典中的所有可能字词,该字典在分级环境中以dict.txt提供(并按升序排序)。牛手不喜欢这个档案系统的优点,而且希望以一个愉快的名字叫他们的牧群,而不是说:“#4734,相处”。编写一个给定牛的品牌编号的程序,并打印可以从该品牌编号生成的所有有效名称,如果没有有效名称,则打印“NONE”。长度为1至12位数字的单行。

YanLucyqi的博客 501

[洛谷3864] [USACO1.2]命名那个数字 Name That Number {trie/vector}

题目 https://www.luogu.org/problemnew/show/P3864 解题思路 其实还以为是trie,但是发现用一个vector就能AC。 代码 /* ID:beyond_4 LANG:C++ TASK:namenum */ #include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;string&gt; #i...

Nowed 448

usaco training section1.3:name that number

usaco section1.3name_that_number题解

weixin_51648922的博客 283

USACO1.2.3 Name That Number(命名那个数字)

Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to please the Accounting Department. The cow hands don't appreciate the advantage of this filing system,

九天神龍 1242
上一篇: 里程碑-博客开通
下一篇: 关于笔记本电脑硬盘方面升级的大搜罗
Panda_Ming
博客等级 码龄15年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值