P1282 多米诺骨牌 【01背包DP】

基于qiime2的16S数据分析全流程:从导入数据到下游分析一条龙 基于qiime2的16s测序数据分析分析激活qiime环境我已经把上面这句代码放在了.bashrc里面,因此激活qiime2环境只需要运行activate_qiime即可/bin/bash# 设置目录路径# 输出表头 echo -e "sample-id\tforward-absolute-filepath\treverse-absolute-filepath"# 遍历_R1和_R2文件do # 检查R1文件是否存在then# 获取样本ID(去掉_R1.fastq.gz) 阅读详情

多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的

上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。

对于图中的例子,只要将最后一个多米诺骨牌旋转180°,可使上下2行点数之差为0。

输入输出格式

输入格式:

 

输入文件的第一行是一个正整数n(1≤n≤1000),表示多米诺骨牌数。接下来的n行表示n个多米诺骨牌的点数。每行有两个用空格隔开的正整数,表示多米诺骨牌上下方块中的点数a和b,且1≤a,b≤6。

 

输出格式:

 

输出文件仅一行,包含一个整数。表示求得的最小旋转次数。

 

输入输出样例

输入样例#1: 复制

4
6 1
1 5
1 3
1 2

输出样例#1: 复制

1

用DP【i】【j】来表示前 i 个数 差值为 j 的最小翻转次数, 根据题目范围可以知道差值在 -5000 到 5000 之间,但是数组下标不能为负 ,所以平移一下,都+5000 平移到 0 到 10000

转移方程见代码 分别代表翻与不翻

最后找出最小差值下最小的反转次数,如果小于1000 就直接输出 (因为最多翻转1000次啊)


#include<bits/stdc++.h>
//#include <iostream>
//#pragma GCC optimize(2)
using namespace std;
#define maxn 1005
#define inf 1e18
#define eps 0.00001
typedef long long ll;
const ll mod = 1e9+7;
const double pi = acos(-1);

ll n,arr1[maxn],arr2[maxn],DP[maxn][11000],ans = inf;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

    //freopen("D:\\test1.out","w",stdout);

    cin >> n;

    for(ll i = 1; i <= n; i++)
        cin >> arr1[i] >> arr2[i];

    memset(DP,0x3f3f,sizeof(DP));

    DP[0][5000] = 0;

    for(ll i = 1; i <= n; i++)
    {
        for(ll j = -5000; j <= 5000; j++)
        {
            ll temp = arr1[i] - arr2[i];
            DP[i][j+5000] = min( DP[i-1][ j+5000-temp ],DP[i-1][j+5000+temp]+1 );
        }
    }

    for(ll i = 0; i <= 5000; i++)
    {
        ans = min(DP[n][i+5000],DP[n][-i+5000]);
        if(ans < 1000)
        {
            cout << ans <<endl;
            return 0;
        }
    }

    //cout << ans << endl;

    return 0;
}

 

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

相关推荐

mysql9.0windows安装

将这里的位置修改为你刚刚创建并复制data目录的地址即可,win11的系统使用vscode修改之后,会让你确认开启更高权限以进行保存,比较方便,window10不需要确认,修改后可以直接保存。:在修改之前,最好将下图文件进行备份,将原始的文件保存好一份,以防更改了配置之后,导致mysql服务报错,无法启动,备份好的话直接将有问题的配置文件给替换就可以,无需重新安装一次mySql。双击下载的msi文件进行安装。安装有问题的,可以直接进行卸载,新本的mySql会将注册表中的数据自动进行清除,还是很方便的。

m0_74824123的博客 6448

概率DP

概率DP

cj1064789374的博客 254

八股文(Unity篇)

在Unity中,协程是通过迭代器实现的,即将协程函数的返回值类型定义为IEnumerator,然后使用yield语句暂停协程的执行,并在需要恢复执行时通过MoveNext()方法继续执行。Unity中的协程是一种能够在主函数中暂停和恢复执行的功能,它使用了C#的迭代器。Resources方式:Resources方式:使用Resources.Load方法加载Resources文件夹下的资源,这种方式的好处是简单易用,无需手动打包资源,但是会导致应用包变得较大,加载速度较慢,不适合较大的资源文件。

m0_50816320的博客 1万+

P1282-多米诺骨牌【dp,背包】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid=52918&amp;pid=P1282 题目大意 n个多米诺骨牌,上下值不相同,可以交换一个多米诺上下的值,求最少的交换次数使上下之和的差值最小。 解题思路 用fi,j+Nfi,j+Nf_{i,j+N}表示只计算前i个多米诺,上下之差为j需要的最小次数,然后类似背包的想法正...

QuantAsk 481

从数据集到产品:聊聊Room-to-Room (R2R) 如何影响扫地机器人、AR导航的未来

本文探讨了Room-to-Room (R2R) 数据集如何推动视觉与语言导航(VLN)技术的发展,并重塑扫地机器人和AR导航的未来。通过分析R2R基于Matterport3D的设计及其在真实场景中的应用,揭示了其在提升智能导航精度和自然语言交互能力方面的潜力。文章还讨论了从实验室到产品化的关键技术挑战与解决方案。

weixin_29084231的博客 143

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3277

[多阶段DP] 洛谷P1282 多米诺骨牌 (01背包)

题目 LP1282 思路 本题总体不难。。甚至我觉得难度评级应该是普及+/提高。。。但就是做了一上午。。 自己要蠢死啦。。 大体思路是这样的,思考以后就会发现,本题其实是一个纠正差值的问题,拿这样样例举例: 4 6 1 1 5 1 3 1 2 可以看到,上面点数之和为9,下面点数之和为11,差值为2(暂不考虑正负)。 而每张牌,都有自己的“可...

OI - IceCab 405

从零开始:在Ubuntu 22.04上配置Isaac Gym Preview 3环境(含常见错误解决方案)

本文提供了在Ubuntu 22.04系统上从零开始配置Isaac Gym Preview 3环境的完整实战指南。内容涵盖NVIDIA驱动安装、Conda环境搭建、CUDA与PyTorch版本精准匹配、Isaac Gym核心安装与验证,并重点介绍了针对四足机器人等复杂系统的强化学习训练环境配置、常见错误解决方案及性能调优技巧,旨在帮助开发者高效部署这一高性能物理仿真平台。

weixin_29048775的博客 393

动态规划与偏移量技巧:从背包问题到多米诺骨牌差值最小化

动态规划是解决最优化问题的核心算法思想,其本质是将复杂问题分解为重叠子问题,并通过状态转移方程递推求解。在背包问题等经典模型中,动态规划用于在给定约束下寻找最优解。当问题涉及可正可负的状态量(如差值、代数和)时,直接使用数组下标会遇到负数索引的难题。偏移量技巧通过引入一个基准值,将整个状态空间平移到非负区间,从而使得标准的动态规划表格得以应用。这一技术极大扩展了动态规划的适用范围,在需要平衡或最小化两组数据差异的场景中具有重要价值,例如资源分配、负载均衡和游戏策略求解。本文以信息学奥林匹克竞赛中的多米诺骨牌

weixin_30263073的博客 314

秃鹰搜索优化算法(BES)详解:从自然捕食到全局优化

秃鹰搜索优化算法(Bald Eagle Search Optimization Algorithm,BES)是由马来西亚学者Alsattar等人于2020年提出的一种新型元启发式优化算法。该算法灵感来源于秃鹰在自然界中高超的捕食行为,特别是其独特的狩猎策略和卓越的视觉搜索能力,模拟了秃鹰捕食鲑鱼等猎物的完整过程。

qq_42212808的博客 1353

C# WPS操作PPT,全屏,缩率图,备注,跳转播放

本文介绍了一个使用C#开发的PPT操作工具,主要功能包括检测当前打开的PPT文件、获取选中PPT路径、指定播放PPT、获取PPT页面序号和缩略图、提取备注内容等。文章展示了操作界面效果图,并重点解决了用户手动退出PPT后重新获取路径时报错的问题。核心代码实现了通过WPS API进行PPT文件的打开、全屏播放、页面跳转、获取当前页位置等功能,同时支持生成PPT缩略图预览和备注信息提取。当用户未通过工具按钮打开PPT时,程序会自动初始化PPT信息确保功能正常使用。

遇见--专栏 312

洛谷 P1282 多米诺骨牌 巧妙的01背包问题

洛谷 P1282 多米诺骨牌 巧妙的01背包问题 代码如下: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstring> #include<vector> #in...

化身孤岛的鲸o的博客 449

VSCode 中搭建 Python 开发环境

**验证安装**:打开终端(CMD/PowerShell/终端),输入 `python --version`(Windows)或 `python3 --version`(macOS/Linux),显示版本号即成功。- **下载地址**:[Python 官网](https://www.python.org/downloads/)(选择对应系统的最新稳定版,推荐 3.8+)- **调试**:通过 `launch.json` 配置,设置断点后按 `F5` 启动,使用 `F10/F11` 控制流程。

寒寒豆豆软件公司的博客 2540

洛谷线性DP训练(5):P1282 多米诺骨牌——变种背包

P1282 多米诺骨牌 输入输出样例 输入 #1复制 4 6 1 1 5 1 3 1 2 输出 #1复制 1 其他人的看法 遇见这种直接背包。 背包的本质是什么??? 是每一个物品或动作对所有当前状态的更新。 本题就是如此,翻一次就把原来的加的差值颠倒。 并且,本题强制必须要用每一个动作,所以就必须(即+a-b或+b-a)从前面一个状态+改变量去更新 因为改变量有正有负,所以不好降一维, 总结...

qq_35299223的博客 308

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

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

【01背包问题变体】P1282 多米诺骨牌

识别双目标:最小化差值 + 最小化旋转次数确定主次:差值为主,旋转次数为次状态设计:用差值作为状态维度,旋转次数作为状态值转移分析:考虑每个骨牌的两种选择答案提取:从最小差值开始搜索将次要目标作为状态值,将主要目标作为状态维度,这样可以在DP过程中同时优化两个目标。

2301_80361697的博客 876

假人有限元模型

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

洛谷 P1282 多米诺骨牌 01背包

【传送门】 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。 每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。 对于图中的例子,...

AKGWSB 's blog 229

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

基础dp 洛谷P1282 多米诺骨牌

题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。 对于图中的例子,...

yhb的博客 277

P1282 多米诺骨牌[可行性01背包]

题目来源:洛谷 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。 ...

weixin_30436891的博客 151

P1282 多米诺骨牌

题目描述多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。对于图中的例子,只要将最后一个多米诺骨...

Ant_e_zz的博客 351

洛谷P1282 多米诺骨牌

P1282 多米诺骨牌 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。 对于图...

九峰的博客 483

洛谷 P1282 多米诺骨牌 动态规划

P1282 多米诺骨牌题目描述多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。对于图中的例子,只要

Gorden的博客 3155

[背包DP] [Luogu P1282] 多米诺骨牌

题目传送门 这题属于补坑题,原来交的Pascal…… 对于一对骨牌,可以发现要么翻要么不翻,翻转一次对总体差值的影响为2c2c,其中cc为这对骨牌的差值。 证明如下: 不管绝对值问题。设这对骨牌点数分别为xx,yy,与xx一行的骨牌(除了xx)的点数和为pp,与yy一行的骨牌(除了yy)的点数和为qq。 原来的差值为x+p−y−qx+p-y-q,交换后为y+p−x−qy+p-x-q。 则

HeRaNO@HSAHRBNU 923

DP P1282 多米诺骨牌

题目描述多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。 ...

pxlsdz的博客 597

【洛谷P1282】多米诺骨牌

啊啊啊啊,这道题搞了一晚上,简直要疯了,其实就是一道很简单的背包DP,一眼就看出来了,但是各种修改每次都是55分,最后发现好像除了第一次以后都不能从j=0开始转移,就是说每次都必须选一项,其实也不是很懂发题解的人为什么空间优化之后只要把j=0给覆盖掉就好了,而不考虑以后的错误转移,应该是可以用数学证明的= =但是蒟蒻就是不会啊,所以以后这样的题还是仔细的考虑一下能不能空间优化吧,如果自己不去管那绝对

zhaoyh2000的博客 804

多米诺骨牌 (01背包)

洛谷P1282 - 多米诺骨牌 - 动态规划 题目链接: https://www.luogu.org/problemnew/show/P1282 题目: 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达

沐白白的博客 268

洛谷 1282 多米诺骨牌

说实话这一题我没想出来,果然是我太蒻了 后来看了看题解才发现,原来这就是一个01背包,其实之前也有往这方面去想,但是没想出来。 不说废话了,咱们看看题目 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|...

weixin_33795743的博客 124
上一篇: 模板【大数取余】
下一篇: P1417 烹调方案 【DP】
Whyckck
博客等级 码龄9年 6粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值