URAL 1715 Another Ball Killer(大模拟)

嵌入式笔试面试题库 250 题|13 章从 C 语言到 FreeRTOS,每题带追问 面试里有两类问题。第一类问「static 有几个作用」,第二类问「串口丢数据你怎么查」。第一类决定你能不能进二面,第二类决定二面之后还有没有下文。 这份合并版 250 题、13 章,把上篇与下篇收在一本: · 上篇 130 题(一至六章):单片机与体系结构、C 语言关键字、指针与内存、位运算与寄存器、中断与并发、编译链接与内存布局; · 下篇 120 题(七至十三章):GPIO 与时钟、定时器与 ADC、串口 I2C SPI、DMA 与中断、FreeRTOS、通信协议与总线、项目与工程实践。 每题结构一致:一段分点参考答案(①②③ 给要点骨架),紧跟一条追问,写明面试官往下会挖哪一层。答案尽量落到三层——现象、根因、验证方法。比如「PWM 出不来波形」,不只列六项检查顺序,还说清为什么 TIM1 容易漏掉 MOE 这一位、怎么用示波器确认。 三个附录:A 是 40 天复习路线(每天 40 分钟,标每天题量与当章重点);B 是十三章自测评分表(现象 / 根因 / 验证三列打分);C 是按现象查题的排障索引,遇到具体问题直接定位到题号。 交付:Word 可编辑版 + PDF 打印版(A4 / 70 页)+ 使用说明。题号连续 Q001–Q250,目录与附录各一套,跨篇追问能顺着查。 说明:寄存器位定义与分频关系按 STM32F103 系列整理,换 F4/F7/G0 需按对应手册核对;FreeRTOS 部分按 10.x 之后接口描述。题库不替代动手调试。 立即下载

在搞这种SB模拟题之前。。。一定要先把sample算明白。。。不然会很悲剧的。。。

具体思路没什么好说的了吧,每次都找当前最大的连通块,当前没有连通块或者当前最大连通块小于2的时候(坑)终止就行了。注意题目中algorithm中的第三行的while...不是if...

get_score(key, type)函数用于找当前主颜色为key的时候的最大连通块,type为0的时候找非主色调的最大块,为1的时候找主色调的最大块。每次找完之后都release(id),即将id连通块下的点都删除,并将所有点向下或向右移动。

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<set>
#define REP(i, n) for(int i=0; i<n; i++)
#define CLR(a, b) memset(a, b, sizeof(a))
using namespace std;

const int maxn = 55;
int n, m, vis[maxn][maxn];
char g[maxn][maxn], tg[maxn][maxn];
char pt[6] = "BGRWY";
int dx[4] = {0, 0, 1, -1};
int dy[4] = {1, -1, 0, 0};
bool flag, flag1;
struct Block
{
    int num, l, d, id;
}b[maxn*maxn];
bool cmp(Block a, Block b)
{
    if(a.num > b.num) return true;
    else if(a.num == b.num)
    {
        if(a.d > b.d) return true;
        else if(a.d == b.d && a.l < b.l) return true;
    }
    return false;
}

void dfs(int x, int y, int id)
{
    vis[x][y] = id; b[id].num++;
    b[id].l = min(b[id].l, y);
    b[id].d = max(b[id].d, x);
    REP(i, 4)
    {
        int tx = x + dx[i], ty = y + dy[i];
        if(tx < 0 || tx >= n || ty < 0 || ty >= m) continue;
        if(vis[tx][ty] == -1 && g[tx][ty] == g[x][y])
            dfs(tx, ty, id);
    }
}

void release(int id)
{
    REP(i, n) REP(j, m) if(vis[i][j] == id) g[i][j] = '.';
    for(int i=n-2; i>=0; i--) REP(j, m) if(g[i][j] != '.')
    {
        int tx = i;
        for(int ii=i+1; ii<n; ii++)
        {
            if(g[ii][j] != '.') break;
            else tx = ii;
        }
        if(tx == i) continue;
        g[tx][j] = g[i][j];
        g[i][j] = '.';
    }
    int mm = m;
    REP(j, mm-1)
    {
        flag1 = 0;
        REP(i, n) if(g[i][j] != '.')
        {
            flag1 = 1;
            break;
        }
        if(!flag1)
        {
            REP(i, n) for(int jj=j+1; jj<mm; jj++)
                g[i][jj-1] = g[i][jj];
            REP(i, n) g[i][mm-1] = '.';
            mm--; j--;
        }
    }
}

int get_score(char key, bool type)
{
    int cnt = 0;
    CLR(vis, -1);
    REP(i, n) REP(j, m) if(vis[i][j] == -1)
        if((type && g[i][j]==key) || (!type && (g[i][j]!='.' && g[i][j]!=key)))
        {
            b[cnt].num = 0; b[cnt].id = cnt;
            b[cnt].l = maxn; b[cnt].d = -1;
            dfs(i, j, cnt);
            cnt++;
        }
    sort(b, b+cnt, cmp);
    if(cnt == 0 || b[0].num < 2)
    {
        flag = false;
        return 0;
    }
    release(b[0].id);
    return b[0].num * (b[0].num - 1);
}

int gao(char key)
{
    REP(i, n) REP(j, m) g[i][j] = tg[i][j];
    int ret = 0;
    while(true)
    {
        flag = true;
        while(flag) ret += get_score(key, 0);
        flag = true;
        ret += get_score(key, 1);
        if(!flag) break;
    }
    return ret;
}

set<char> have;
int main()
{
    scanf("%d%d", &n, &m);
    REP(i, n)
    {
        scanf("%s", tg[i]);
        REP(j, m) have.insert(tg[i][j]);
    }
    REP(i, 5) if(have.count(pt[i])) printf("%c: %d\n", pt[i], gao(pt[i]));
    return 0;
}



政府科技管理者如何提升科技成果评估的准确性与透明度?.docx 政府科技管理者如何提升科技成果评估的准确性与透明度? 立即下载

相关推荐

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的双闭环PWM整流器VOC(虚拟磁链定向控制)与SVPWM(空间矢量脉宽调制)相结合的仿真模型,系统阐述了三相电压型PWM整流器在电压定向控制策略下的建模方法与控制实现。通过设计外环直流电压控制与内环电流控制的双闭环结构,实现了对整流器的高功率因数运行、能量双向流动及动态性能优化的精确调控。结合SVPWM调制技术,有效提升了直流侧电压利用率并显著降低输出电流谐波含量,增强了系统的整体效率与稳定性。该仿真模型适用于新能源发电、电动汽车充电系统、微电网等高性能电能变换应用场景,文档还配套提供了丰富的学习资源与技术支持渠道,便于深入研究与工程实践。; 适合人群:面向电气工程、自动化、电力电子及相关专业的高校学生、科研人员以及从事新能源、智能电网、电力传动等领域研发工作的工程师;尤其适合已具备自动控制理论、电力电子变换技术和MATLAB/Simulink仿真基础的专业人士进一步深化学习与应用。; 使用场景及目标:①深入理解PWM整流器的工作机理及其双闭环控制系统的架构设计;②掌握VOC控制与SVPWM调制的协同工作机制,提升系统动静态响应性能;③支撑科研课题、课程设计、毕业设计或实际工程项目中的整流器控制系统开发与验证;④作为高级电能变换技术的学习范例,促进对现代电力电子系统控制策略的综合理解与创新能力培养。; 阅读建议:建议结合文中提供的百度网盘链接与公众号资源,下载完整的Simulink仿真模型进行实操演练,在MATLAB环境中调整控制器参数并观察仿真结果,深入剖析控制逻辑与系统响应特性;同时可参考同系列资源如PI双闭环控制、电网不平衡工况下的控制策略等案例,开展对比分析与拓展研究,全面提升系统建模与控制设计的综合能力。

URAL 1715. Another Ball Killer (大模拟)

题意:n*m的格子上有至多5种颜色的格子,同一颜色的 k (k>=2)个格子连成一块可以相消,得分k*(k-1),每次规定一主颜色,每次先消最大的块,若存在多个相同大小的块,先消靠底部的,靠左边的;先消与主颜色不同的块,再消主颜色的块。每次消完一个块整体都向下挪,向左挪,如题图。输出每种主颜色下的得分。 思路:蛋疼大模拟,敲了两个小时,脑袋都要炸了,幸好1A哭感激涕零,直接上代码,自己的代码写完就看不懂了=-=

@you! 879

从FP16到FP8:我是如何让Stable Diffusion 3.5提速40%而不丢画质的

本文分享了StableDiffusion模型优化的实战经验。通过FP8精度转换、分层处理敏感模块,实现显存占用降低35%、推理速度提升40%。文章详细介绍了提升画质的五大技巧、本地/云端/移动端部署方案,以及二次元模型定制等垂直领域应用。同时总结了硬件兼容性、数据质量等七大常见陷阱,并强调持续监控和伦理考量。作者指出未来应关注MoE架构、注意力机制优化等方向,认为技术优化是持续追求性能与质量平衡的过程。

达则兼济天下 1186

Another Ball Killer

Time Limit:2000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64u SubmitStatusPracticeURAL 1715 Description Contestants often wonder what jury members do during a contes...

weixin_34111819的博客 183

STM32CubeMX+Keil5实战:手把手教你用STM32F103C8T6开发扫地机器人(附完整代码)

本文详细介绍了如何使用STM32F103C8T6开发智能扫地机器人,从STM32CubeMX配置到Keil5代码实现的全过程。涵盖硬件选型、时钟树配置、GPIO外设设置、电机驱动、超声波测距及自动避障算法等核心内容,并提供完整代码示例,助力开发者快速掌握智能硬件开发技巧。

weixin_30329623的博客 81

保姆级教程:用MATLAB搞定运动模糊图片修复(附完整代码与避坑指南)

本文提供了一份详细的MATLAB运动模糊图片修复教程,涵盖盲复原、图像复原等核心技术。通过傅里叶变换和Radon变换分析模糊参数,对比逆滤波、维纳滤波和Lucy-Richardson算法效果,并附完整代码与避坑指南,帮助用户实现专业级图像处理。

weixin_26765363的博客 228

hdu 4781 Assignment For Princess(构造法)

构造一个n个点,m条有向边的图,需要满足两个要求: 1.任意一对点对之间最多有一条有向边,且没有自环。 2.保证图联通,m条边的边权严格属于[1, m]且互不相同,从任意点出发,经过任意路径后回到起始点,经过的边权总和是3的倍数。 其中第二个要求似乎听上去很玄乎,其实可以一步一步的来:要同时满足1.2的要求,而且输入数据 m >= n + 3,那么也就是说,我们总是能轻松的先构造一个n个点n

diary_yang的专栏 4243

Unity小游戏接入抖音敏感词检测

摘要: 本文介绍了Unity小游戏接入抖音敏感词检测的方法。抖音官方提供了两种API:SensitiveWordCheck用于检测敏感词,ReplaceSensitiveWords用于替换敏感词。此外,若使用键盘输入事件,可通过tt.onKeyboardComplete监听回调,平台会自动屏蔽敏感词(替换为*)。接入官方字库可有效避免审核驳回,适用于小游戏中的用户输入功能(如起名系统)。附官方文档链接及参数说明。

类人_猿的博客 4594

CF 129B - Students and Shoelaces

n个人,m对关系。每次能删除当前所有只跟一个人有关系的人,删到不能删要搞多少次。。。map+set不用想什么事,无脑拍就行了。。。 #include #include #include #include #include #include #include #include #include #include #include #include #define FF(i, a, b) for(i

diary_yang的专栏 2307

Android 13.0 USB 麦克风音频采集优化:解决延时、杂音和无声问题

摘要:本文针对Android智能会议设备中USB麦克风存在的三大问题(录音延时、概率性杂音和无声)进行了深入分析和优化。通过预填充静音帧降低90%启动延时,分离采集/播放互斥锁消除杂音,采用持久化配置解决无声问题,并新增状态通知机制提升用户体验。优化后测试显示:录音延时从1200-2000ms降至100-200ms,故障率降至0%,CPU占用降低30%。该方案适用于各类USB音频设备和视频会议系统,为低延时音频采集提供了可靠解决方案。

ip0417的博客 229

Python 爬虫项目:爬取百度贴吧帖子,保存标题与评论内容

在 Python 爬虫技术的学习与实战体系中,贴吧类动态内容爬取是典型的入门进阶案例,百度贴吧作为国内主流的社区论坛平台,其页面结构规范、数据载体清晰,非常适合用于巩固爬虫核心技术栈。本次实战项目基于requests请求库与解析库实现完整的爬取流程,从网页请求、数据解析、内容提取到本地持久化存储全链路落地,既能掌握基础爬虫的核心逻辑,也能理解网页结构化数据解析的通用思路,同时规避爬虫常见的反爬基础策略,具备极高的实战参考价值。本文核心价值。

2503_91057718的博客 2543

ZOJ 3710 Friends (map + set)

这是浙江省赛的F题,题意是给你n个人,m对朋友关系,如果两个人的公共好友超过k人,那他们可以成为新的朋友,问经过一段“”足够长的时间后“, 新产生了多少对朋友关系?刚开始看到这个题觉得很难。。。尤其是那个“a sufficiently long time”,不知到如可搞。。。于是先做了其他水题,再一看这题,发现可以用STL秒, 枚举每对未成为朋友的i和j,如果其公共好友超过k人,那么增加这对关系,

diary_yang的专栏 2165

YOLOv10改进 | 主干篇 | 引入FasterNet:Run, Don‘t Walk,追求更快的神经网络

本文引入了 FasterNet 作为 YOLOv10 的主干网络。通过 PConv 算子,我们有效降低了模型的计算冗余。对于追求极致推理速度的场景(如树莓派、Jetson Nano),该改进方案极具价值。建议在训练时配合混合精度训练 (AMP)进一步加速。

weixin_51988935的博客 604

hdu 4712 Hamming Distance(爆搞)

求2 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FF(i, a, b) for(int i=a; i<b; i++) #define F

diary_yang的专栏 1777

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

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

hdu 4784 Dinner Coming Soon(优先队列+spfa)

看完题目的开头,大概是个二维spfa,产生了此题可搞的幻觉。。。 接着就看到了这句“But the matter is not so simple.”,次奥,看来是个三维的呢。。。 接着就看到了这句“However, the problem is more complicated than imagine. ”,尼玛四维。。。好吧,四维spfa本质还是spfa吧。。 于是就出现了在hdu各种

diary_yang的专栏 1712

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

zoj 3732 Graph Reconstruction(构造)

预备知识:Havel-Hakimi定理 先跑一遍Havel_Hakimi算法判断是否有解。对于判断多解的情况,再跑一遍Havel_Hakimi,如果sort(p+i, p+n)排序后,从i分别向i+1, i+2...i+p[i].d连边时,如果i+p[i].d跟i+p[i].d+1的剩余度数相同,那么交换这两个点在剩下的图中的位置,就能得到两个不同的图了。 坑:当边数为零的时候,也要输出两

diary_yang的专栏 1668

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Codeforces 131D Subway(找图上唯一环)

给定一个n个点n条边存在唯一环的联通图,求每个点到环的距离。 找唯一环的话,用类似拓扑排序的方法,由于环上点的度>=2,所以bfs后未能遍历的点必在环上,然后就用dfs跟新距离就行了。 #include #include #include #include #include #include #include #include #include #include #include #inc

diary_yang的专栏 1613

Codeforces 278C Learning Languages(并查集)

题意抽象出来就是求联通块的个数吧,然后添加最少边使图联通。 注意所有人都不会任何语言的时候,答案是n而不是n-1。 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FF(i

diary_yang的专栏 1613

UVA 11367 Full Tank?(bfs最短路)

n个点m条无向边的图,油箱有上限,每个单位的汽油能走1单位距离,每个城市的油价val[i], 对于每个query,求s到e的最小花费。 dp[i][j]表示到达第i个城市,油箱剩余油量j时的最小花费。用bfs扩充节点,每个点拆成100个节点,时间复杂度还是可以接受的。 #include #include #include #include #include #include #include

diary_yang的专栏 1542

Codeforces 350B Resort(bfs)

感觉是不是很久没做水题了,最近开始各种坑,不论是训练还是CF。。。 加之要去长春赛区,感觉中大出题有点偏向CF风格?所以最近打算把CF上tags 带graphs的都做做吧。 这个题挺水的,直接根据题意,枚举起点然后bfs找最长路就行了。讽刺的是,当时做这场DIV2的时候题都没看懂。。。 #include #include #include #include #include #inclu

diary_yang的专栏 1522

URAL 1752 Tree 2(树的直径+RMQ)

给出n个点的一棵树,边权都是1.然后q个询问,每次询问距离vi节点di的节点是什么,输出任意一个就行。 最开始yy到了找出树的直径,每个点能走的最长路的终点必然是直径的某个端点。然后把直径上的点存起来,然后对于询问vi不是直径上的点的时候dfs搞,妥妥儿的TLE了。。。 后面gxb搞出来了,用二维fa数组记录每个点到直径两个断点的路径。由于边权都是1,所以查询的时候可以用RMQ。。。学习了。。

diary_yang的专栏 1472

Codeforces 116C - Party(dfs)

n个人,每个人之多有一个上司。“上司”关系具有传递性。求最少将人分成多少组,每组中的每个人的上司或者间接上司都不在该组。拿到题就用树的直径wa了一炮。。。 正解是有向无环森林的最长路。从每个跟节点dfs,找最长的路就行了。 #include #include #include #include #include #include #include #include #include #in

diary_yang的专栏 1459

UVA 12664 Interesting Calculator(spfa)

要你将x变换成y,一共有3×9中变换方法,每种变换有其对应的花费,然后求x-->y的最小花费,当最小花费不唯一时,求最小变换次数的解。 类似于双调路径的题,用spfa进行状态转移就行了。不过类似于 ×1, +0这种变换是没有意义的,不用加入队列中了。 #include #include #include #include #include #include #define REP(i, n

diary_yang的专栏 1389

HDU 4082 Hou Yi's secret(暴力)

直接6重循环就行了吧。。。判三角形相似直接从小到大枚举两向量夹角是否相等就行了。注意去重点跟三点共线就行了。。。 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

diary_yang的专栏 1358
上一篇: zoj 3732 Graph Reconstruction(构造)
下一篇: URAL 1721 Two Sides of the Same Coin(二分匹配)
yang_bro
博客等级 码龄15年 37粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值