POJ 3185 The Water Bowls

2021英伟达暑期实习面经(芯片设计) 2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。 阅读详情

此题我是写了个BFS过的,用的队列是STL的queue,960ms过的。。

用2进制来压缩状态,然后列出20种操作数op[i]。

于是在i处的操作就等同于对now=now^op[i],和Flip Game的处理方法一样。

但是他们写的BFS会TLE就不知道为什么了。。还有用DFS过的= =

后来,得知了一个枚举加贪心的方法,但是没法证明是最优的,得去查查资料。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
using namespace std;
struct T
{
    int now;
    int step;
};
queue<T> q;
bool v[4194304];
int op[20];
int main()
{
    int a[30],i,j;
    T s,ts,tts;
    s.now=0;
    s.step=0;
    for (i=0; i<20; i++)
    {
        scanf("%d",a+i);
        if (a[i] == 1)
        {
            s.now+=1<<i;
        }
        if (i == 19)
        {
            op[i]=3<<18;
        }
        else if (i == 0)
        {
            op[i]=3;
        }
        else
        {
            op[i]=7<<(i-1);
        }
    }
    while (!q.empty())
        q.pop();
    q.push(s);
    memset(v,false,sizeof(v));
    v[s.now]=true;
    while (!q.empty())
    {
        ts=q.front();
        q.pop();
        if (ts.now == 0)
        {
            printf("%d\n",ts.step);
            return 0;
        }
        for (i=0; i<20; i++)
        {
            tts.now=ts.now^op[i];
            tts.step=ts.step+1;
            if (v[tts.now] == false)
            {
                v[tts.now]=true;
                q.push(tts);
            }
        }
    }
}


 

TC3XX - MCAL知识点(三十三):基于EB Tresos配置Tc3xx的MCAL代码如何产生中心对称的三相六路发波波形 本文用于记录如何在英飞凌 tc3xx 芯片的应用开发中,借助 EB Tresos 配置工具生成的配置代码与 MCAL 源码相结合,进而实现三相六路中心对称互补的 PWM 输出效果。外部资源需求:EB Tresos23.0以上、Tasking\Hightec编译器、示波器\逻辑分析仪。 阅读详情

相关推荐

90+个各种疾病相关医疗数据集

含新冠、传染病、医学图像等

2万+

[Gauss]POJ3185 The Water Bowls

题意:反正就是要给的一串01的变成全0 能影响自己和左右 最少需要几步 01方程组 异或解 1 int a[300][300]; // 增广矩阵 2 int x[300]; // 解 3 int free_x[300]; // 标记是否为自由未知量 4 5 int n; 6 void debug() 7 { 8 ...

aicheng4794的博客 149

STM32_WS2811驱动

STM32的WS2811驱动

健身房 2840

【POJ】3185 - The Water Bowls 反转

http://poj.org/problem?id=3185n个数,每次改变(0->1,1->0)三个数(自身和左右两侧),问最少多少步可以变为全为0.#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std;int a[21]={0}; //数字 int f[21]=

西瓜不甜的博客 383

Habitat安装全网最详细教程,手把手带你跑通example.py(全网唯一)

全网最详细具身智能仿真平台habitat的安装教程

shannanshouyin的博客 2756

SAP MM采购合同创建全解析:ME31K操作与后台逻辑

在SAP ERP的物料管理模块中,采购合同作为框架协议的核心,定义了企业与供应商之间的长期供货关系。它与采购订单不同,合同不直接产生收货或发票,而是为后续采购订单提供数据源。创建合同(事务码ME31K)时,需要区分数量合同与金额合同,并维护抬头、行项目、有效期、价格条件和税码等关键信息。SAP通过源确定机制在创建采购订单时自动匹配合同,同时审批策略、编码范围和输出类型也会影响合同的实际可用性。掌握合同创建逻辑,能有效解决采购订单无法带出合同、审批未触发、价格缺失等高频问题。从ME31K实操出发,系统梳理采购

weixin_30000735的博客 196

POJ - 3185 The Water Bowls

题目大意: 类似开关灯的题。改变一个,与他相邻的两个也会改变,问最少改变几个可以让这个序列变成0    分析: 反转决策。开关会影响3个灯,所以我们每次求连续3个,如果3个第一个是关的,说明这个区间不用反转;否则这 个区间需要反转。因此我们用一个数组f[i]表示[i,i+2]之间是否应该反转。 但是这题目需要注意下,因为第一盏灯比较特殊,只影响2个灯,因此...

DDDDDDDDDD4444444444的博客 175

声品质粗糙度matlab,声品质的应用分析方法

声品质的应用分析方法2016-04-05 09:18:57阅读次数:14198摘要:声品质分析在噪声的主观评价方面已经得到越来越多的应用。本文比较了声品质分析与传统计权声级的区别,并介绍了在声品质分析的实际应用中,针对稳态信号、非稳态信号的几种不同分析方法,以及各分析方法的要求和特点。关键词:声品质,响度,尖锐度,粗糙度,波动度1前言传统评价噪声的方法主要为计权声压级,用以反映声音的大小。但是人耳...

weixin_30767323的博客 2438

POJ3185 The Water Bowls

看了别人的题解,有的总结的,就是枚举一小部分的开关,那么别的开关的情况就能直接求出,说的也不错,这里我们枚举最左边的开关,因为它只有它右边的一个位置的开关能影响到它,分别求按下他,不按它的情况,最后通过最右边的开关是否为0来判断是否合法,这个题因为从二维变成了一维,所以难度也降低很多,大概是黄题到绿题的难度。这个就是以为的开关问题,不像二维的,我们只需要枚举第一个位置的开关情况,然后向后递推,最后判断是不是符合要求,记录答案就行了,知识点:思维,枚举,递推。

m0_73035684的博客 203

104基于深度学习识别是AI生成还是真实图片

的可视化界面,通过点击左侧可以加载要识别的检测对象图片,点击中间的识别按钮,会识别出结果,识别结果在右侧显示,当前识别的图片是真实的图片,非假图片。有兴趣的小伙伴也可以自行扩充数据集,或训练自己的数据集。文本,分别存放了图片路径和对应的标签。文本里面的数据,并将训练好的模型也保存在本地。即可加载训练好的模型,真假图片进行识别。本期给大家介绍的是基于深度学习识别是。代码整体是非常简便的,总共三个。个文件夹分别是真图和。

xcvxvfgdfgfh的博客 2261

【部署】Kimi 接入OpenClaw完整步骤及关键注意事项

本文详细介绍了如何将Kimi AI接入OpenClaw系统的完整步骤。首先需确保环境满足OpenClaw版本要求和系统支持,然后通过配置向导完成本地网关设置和Kimi模型接入,包括API密钥配置。文章提供了详细的命令操作和界面截图指导,并重点说明了安全警告处理、服务状态检查、API密钥有效性验证等关键注意事项。最后还展示了Kimi流量消耗明细和问题排查方法,帮助用户顺利完成接入并解决常见问题。整个流程清晰明了,涵盖了从环境准备到最终验证的全部环节。

海兰 7179

The Water Bowls(POJ-3185)

Problem Description The cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position ...

Alex_McAvoy的博客 514

AUTOSAR从入门到精通-诊断事件管理模块(DEM)(四)

在 Autosar 中,诊断事件是指在车辆电子系统中发生的特定事件,可以用于诊断和故障排除。DEM模块通过EventId和相关的EventName来表示每个诊断事件。诊断事件的状态代表了监控器的结果,DEM模块通过RTE或其他BSW模块从SW-C接收监控器的结果。DEM模块使用EventId来管理系统中每个诊断事件的状态,并对各个测试结果执行所需的操作,例如存储冻结帧/拓展帧。所有监控器和BSW模块使用EventId作为符号化的EventName来管理诊断事件。

getusushu的博客 1509

【POJ】3185 The Water Bowls

题意:有20个数字,0或1。如果改变一个数的状态,它左右两边的两个数的状态也会变反。问从目标状态到全0,至少需要多少次操作。 显然,问题可以从目标状态到全0 转化为 全0到目标状态。 于是可以列出方程组,每行一个数的状态。 为了知道操作次数,那么就要知道未知数为1有多少个,所以就要解方程组,解方程组就不得不枚举自由元了。 1 #include<cstdio> 2 #i...

weixin_30848775的博客 166

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

poj3185 The Water Bowls 高斯消元

Language: Default The Water Bowls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4261   Accepted: 1671 Description The cows have a line of 20 water bowl

AC_kereo的专栏 706

SAP B1中文培訓教材_SDK

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

POJ3185——The Water Bowls

DescriptionThe cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position which ho

Alex 668

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ 3185 The Water Bowls 高斯消元+枚举变元

转载请注明出处,谢谢 http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents           by---cxlove 一如既往,继续高斯,这题和之前的略有不同,需要考虑多组解的情况。 当出现自由变元时,枚举所有解,取最优解。开始尝试用位运算,后来果断搜索吧。 不过这题貌似有问题,详见 http://blog.youkuaiyun.com/acm_c

窝不是爱酱,喵~~~~ 2341

POJ-3185-The Water Bowls

这个题最

z309241990的专栏 790

POJ3185:The Water Bowls

The Water Bowls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6177 Accepted: 2431 DescriptionThe cows have a line of 20 water bowls from which they drink. The bowls can be eith

love_QJP的博客 485

The Water Bowls POJ 3185

The cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position which holds no water).

PiscesCrab的博客 396

POJ3185 The Water Bowls 高斯消元+枚举

题目链接:http://poj.org/problem?id=3185 题目大意:有20个碗,排成一排,0表示可以饮用,1表示不能饮用,每翻转一个碗,他左右的碗都会被翻转,现在要给出这些碗的初始状态,问至少需要经过多少次翻转,才能使所有的碗口都能饮用。(保证一定有解)。 分析:高斯消元,对于不唯一的解,分别枚举计算,找出最小值。 实现代码如下: #include

AC_Gibson的专栏 623

POJ 3185 The Water Bowls 已翻译

描述 奶牛有一排20个水碗,他们从那里喝。 碗可以是右侧向上(适当地定向以提供清爽的冷水)或倒置(不含水的位置)。 他们想要所有20个水碗是正面朝上,因此使用他们的宽口鼻部翻转碗。 然而,他们的鼻子是如此宽,以至于它们不仅翻转一个碗,而且翻转该碗的两侧的碗(总共三个或 - 在任一个端碗的情况下,两个碗)。 给定碗的初始状态(1 =不可饮用,0 =可饮用 - 它甚至看起来像碗)

woniupengpeng的专栏 594

【POJ】3185-The Water Bowls 模拟

http://poj.org/problem?id=3185将一列碗翻成口朝上,一把下去可能同时反转3个或2个(首尾),求最小翻转次数。#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std;int a[21]={0}; int f[21]={0}; int ans=1

西瓜不甜的博客 400

poj 3185 The Water Bowls

The Water Bowls POJ - 3185 一个由20个数字(0或1)组成的数列,问最少操作多少次能将其变成一个全0数列,每次操作可以选择一个数字,将其左边右边和本身翻转 #include<iostream> #include<cstdio> using namespace std; int a[22],b[22],ans1,ans2; ...

weixin_30325071的博客 84

POJ3185 The water bowls - 模拟

假设一个方块是1, 为了使其变为0而不使已经变白的序列受到影响,只能反转其后面的方块 所以这个序列的第一个数是1还是0就决定了整个序列的反转,但是从左边开始翻和从右边开始翻是不一样的(感觉是这样就行,不需要证明),所以我们要扫两遍这个序列 #include &lt;algorithm&gt; #include &lt;iostream&gt; #include &lt;cstdio&gt; u...

Zolrk的博客 278
上一篇: POJ 3181 Dollar Dayz
下一篇: OpenGL织梦之旅【第二章】第2节.实现动画
plusplus7
博客等级 码龄15年 59粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值