自己出的题 squee_spoon and his Cube III

VLOOKUP_fixed.py 立即下载

        首先说下题意。就是一个比赛(安排得很紧凑),最多3个人同时比,每个人需要的时间是已知的,问最少总共花多少时间。或者可以想象成这样:三张桌子,一个选手比完下一个上。

        问题就可以转化为:有一些数,分为三组,需要使得和最大的那组尽可能小。

        这个问题可以通过dp(动态规划)来解决。dp(i,j)的第一维表示第一组的总时间,第二维表示第二组的总时间,第三组的总时间自然就是所有选手的时间之和减去前两组的时间。

        首先初态是dp[0][0]=true。此时三组为空,安排每个选手上台比赛,尝试把当前的选手的时间a加入每个组。如果加入第一组,就加在第一维上;如果加入第二组,就加在第二维上;如果加入第三组,不需要操作。即:

if(dp[i][j]==true){

dp[i+a][j]=true;

dp[i][j+a]=true;

}

        处理完所有选手后,我们就可以通过考察所有为true的dp[i][j],来找最小可能时间了。

        但是,如果仅仅做到这一步,还是会超时。需要进行一些优化。考虑三组的时间是可以互换的,设总时间为tot,我们可以让前两组的时间<=tot/3+60。下面是代码。

#include<iostream>   
#include<queue>   
#include<map>   
#include<set>   
#include<vector>   
#include<algorithm>   
#include<string.h>   
#include<cstdio>   
     
using namespace std;   
   
   
bool dp[1200][1200];
int a[60];
   
int main(){ 
    //freopen("test.in","r",stdin); 
    //freopen("test.out","w",stdout); 
    int n; 
    while(cin>>n){
        memset(dp,0,sizeof(dp));
        int tot=0; 
        int test=0; 
        for(int i=0;i<n;i++){ 
            scanf("%d",&a[i]); 
            tot+=a[i]; 
        } 
        int end = tot/3+60; 
         
        dp[0][0]=1;
        for(int k=0;k<n;k++){
            for(int i=end;i>=0;i--){
                for(int j=end;j>=0;j--){
                    if(dp[i][j]){
                        dp[i+a[k]][j]=1;
                        dp[i][j+a[k]]=1;
                    }
                }
            }
        }
         
        int ans=tot; 
        for(int i=0;i<=end;i++){
            for(int j=0;j<=end;j++){
                if(dp[i][j]){
                    int tmp=max(i,j);
                    tmp=max(tmp,tot-i-j);
                    ans=min(ans,tmp);
                }
            }
        }
         
        cout<<ans<<endl; 
    }
    return 0; 
} 

        这样就可以通过这道题了。如果想让程序跑得更快,可以进行进一步的优化,把合法状态专门存起来,不去扫描那些非法状态。

#include<iostream>   
#include<queue>   
#include<map>   
#include<set>   
#include<vector>   
#include<algorithm>   
#include<string.h>   
#include<cstdio>   
     
using namespace std;   
   
   
bool dp[1070][1070];
int a[60];
 
pair<int,int> piis[1100000];

int main(){ 
    //freopen("test.in","r",stdin); 
    //freopen("test.out","w",stdout); 
    int n; 
    while(cin>>n){
        memset(dp,0,sizeof(dp));
        int tot=0; 
        int test=0; 
        for(int i=0;i<n;i++){ 
            scanf("%d",&a[i]); 
            tot+=a[i]; 
        }
         
        int ans=tot; 
        int end = tot/3+60; 
        dp[0][0]=1;
        piis[0]=make_pair(0,0);
        int pos=1;
         
        for(int k=0;k<n;k++){
            for(int i=pos-1;i>=0;i--){
                int x,y;
                 
                x = piis[i].first + a[k];
                y = piis[i].second;
                if(x<y)swap(x,y);
                if(x<=end){
                    if(dp[x][y]==0){
                        dp[x][y]=1;
                        piis[pos++]=make_pair(x,y);
                        int tmp=max(x,y);
                        tmp=max(tmp,tot-x-y);
                        ans=min(ans,tmp);
                    }
                }
                 
                x = piis[i].first;
                y = piis[i].second + a[k];
                if(x<y)swap(x,y);
                if(x<=end){
                    if(dp[x][y]==0){    
                        dp[x][y]=1;
                        piis[pos++]=make_pair(x,y);
                        int tmp=max(x,y);
                        tmp=max(tmp,tot-x-y);
                        ans=min(ans,tmp);
                    }
                }
            }
        }
        cout<<ans<<endl; 
    }
    return 0; 
} 

        这道题算是这场比赛唯一有"算法"的题,可能出得难了。希望各位学弟学妹不要灰心,暂时的失败是再正常不过的。。不要因此放弃提高自己的机会。


YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

ZZUOJ - 10377 - squee_spoon and his Cube III (DP)

10377: squee_spoon and his Cube III Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 70  Solved: 22 [Submit][Status][Web Board] Description     As we all know, pupil squee_spoon plays Rubik'

Never say never 753

SA8155 QNX显示框架与WFD配置实战:从黑屏排查到高可用设计

智能座舱中,车载显示系统的稳定性直接关系到驾驶安全。QNX作为高安全性的操作系统,在座舱仪表、ADAS等关键域中承担着确定性调度与隔离职责,其图形体系Screen与显示输出框架WFD协同工作,构成从应用渲染到面板点亮的完整链路。WFD配置涉及时序、通道映射与行为控制,任何参数偏差或加载异常都可能导致黑屏、花屏等故障。为保障系统可用性,需结合心跳监控、日志采集、通路重试与备份显示切换等策略,构建兼具快速感知与恢复能力的防御体系。本文以SA8155平台为例,深入拆解QNX显示框架的架构与WFD配置要点,结合一次

weixin_29165465的博客 203

zzuoj 10377: squee_spoon and his Cube III (DP状态转移)

10377: squee_spoon and his Cube III                                                                                                 Time Limit: 2 Sec  Memory Limit: 128 MB Description     As w

yanghui07216的博客 393

R语言实战:三因素方差分析(ANOVA)从入门到精通(附完整代码解析)

本文详细介绍了如何使用R语言进行三因素方差分析(ANOVA),从数据准备、模型构建到结果解读与可视化,提供完整代码解析。通过实战案例,帮助读者掌握复杂交互效应的分析方法,适用于科研、教育等多个领域的数据分析需求。

weixin_29081101的博客 244

Rk3128投影仪救砖操作和固件分享思路

大家搞一条比较硬的东西,插入耳机口,就可以进入刷机模式了的,我的机器是这样的,大家也可以试试。(看不懂可以往下看)

MMX7088的博客 1万+

UVa 1629 - Cake slicing

题意:n*m大小的蛋糕,被分成n*m个区域,其中k个区域上面有樱桃。你需要把蛋糕切成k份,每份都有樱桃,切的时候只能水平或竖直沿着网格线切,切到底。问最短切的长度是多少。 思路:DP。DP[u][d][l][r]。u,d,l,r表示整块蛋糕的上下左右。

A Cube Master 1948

Unity Hub报错The Hub as encountered a critical error and must close

如果注册表HKEY_LOCAL_MACHINE\SOFTWARE\Unity Technologies\这个目录下有Hub文件,直接删掉然后重装就可以。C:\Users\Administrator\AppData\Roaming\Unity 作者:SevenVee。HKEY_CURRENT_USER\Software\Unity 下所有项,尝试过,卸载重装,清除临时文件无果后,最终决定删除所有与Hub有关的文件。重装unity后可以打开了。结果:卸载重装后还是会出现此问题。结果:重装后还是无法解决。

qq_42345116的博客 3638

UVa242 Stamps and Envelope Size

题意:信封上最多贴S张邮票。有N个you

A Cube Master 1728

滤波器设计实战:Filter Solutions软件从入门到精通

本文是Filter Solutions滤波器设计软件的实战指南,从入门到精通。通过设计一个低通数字滤波器的完整流程,详细讲解了参数设置、FIR/IIR选择、窗函数及逼近函数应用。文章重点介绍了如何利用这款经典工具高效完成滤波器设计、性能权衡,并将设计成果导出至MATLAB等平台进行实际验证与应用,是信号处理工程师提升效率的实用参考。

weixin_29095049的博客 530

Python3.11安装fairseq避坑指南:解决dataclasses兼容性问题(附详细代码修改)

本文详细解析了在Python 3.11环境下安装Fairseq时因dataclasses模块规则变更导致的安装失败问题。通过定位核心配置文件,将`default=SomeConfig()`修改为`default_factory=SomeConfig`,并调整依赖版本,提供了从源码修改到环境验证的完整解决方案,确保Fairseq顺利运行。

weixin_29098367的博客 494

UVa1630 Folding/poj 2176 Folding/zoj 1554 Folding

题意:给一个由大写字母组成的chuan

A Cube Master 1330

ROS机器人全覆盖路径规划实战:6种ipa算法对比与选型指南(附避坑经验)

本文深入对比了ROS中ipa_coverage_planning功能包集成的6种全覆盖路径规划算法,包括牛耕分解、栅格旅行商、神经网络、局部能量最小、轮廓线和凸感知放置。文章从覆盖率、重复率、计算效率、动态避障等核心工程指标出发,提供了基于不同场景(如静态/动态环境、规则/复杂布局)的实战选型指南,并分享了神经网络和局部能量最小等关键算法的参数调优与避坑经验,旨在帮助开发者根据实际需求选择并优化最合适的ipa覆盖算法。

perl8的博客 363

UVa12093 Protecting Zonk

题意:给定一个有n个节点的wu'gen'shu

A Cube Master 1270

静态时序分析—门控时钟检查(clock gating check)

clock gating check的条件与类型

m0_61544122的博客 9604

ssm框架搭建

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

CF 793D Presents in Bankopolis

D. Presents in Bankopolis一个有向图,节点“有序”,找一条长度为k的最短路径,额外要求是当前边不能“跃过”已经经过的节点。 起点的选择范围是[1,n]然后每经过一个点,下一个能到达的点的范围就会缩小,注意到总可以用一个连续的范围表示之,记为[l,r]。那么用dp解决,状态dp[l][r][k]表示可达范围是[l,r],已经走了k步。 貌似dp写成记忆化搜索更符合我的思维,

A Cube Master 1154

廖雪峰Python教程[完整版]

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

hdu 5119 Happy Matt Friends

题意:n个数,可以取其中一部分来异或,问全部异或结果不小于m有多少种取法。         思路:dp(背包)。dp(i,j)表示取到第i个数,异或结果为j,有多少种方法。初态是有一种取法取得0,然后对每个数,有两种选择,取或不取,加上上一步的路径数就可以了。最后将dp(n,j)中j>=m的部分求和就行。需要注意的是,会爆int。 #include #include #include

A Cube Master 1146

老版QQ原生表情gif动态

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

UVa1213 Sum of Different Primes

问一个数能表示为不同的 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defin

A Cube Master 1098

CF 797F Mice and Holes(单调队列优化dp)

F. Mice and Holes 先给老鼠和洞排序,然后dp解之dp[i][j]表示前i个洞进了j个老鼠的最小cost,很容易想到O(n∗n∗m)O(n*n*m)的做法。然后试了下类似多重背包的方法去优化,结果T了。。 看了下官方题解,给的方案是用单调队列优化。因为我们要从dp[i-1][j-1],dp[i-1][j-2],dp[i-1][j-3]…转移到dp[i][j],每个不同的状态转移过

A Cube Master 1097

UVa12563 Jin Ge Jin Qu hao

知道它是0-1背包,还是跪了很多次。。xian

A Cube Master 970

TopCoder SRM 696

给了20条边,最多会涉及到40个点。我们可以先贪心把那些肯定不会影响结果的点先染色(比如度为0的点和度为1的点,如果一条边连接的两个点度都是1,那么先只染一个,不然会有花费)。贪心过后,最多剩下20个点,这样就可以状压dp了。#include <bits/stdc++.h> using namespace std;#define ll long longint deg[55]; bool vis[5

A Cube Master 925

UVa1252 Twenty Questions

传说中的状态压缩DP。。把某一类状态压缩成

A Cube Master 842

hdu 5001 Walk

题意:一个连通的无向图,等概率

A Cube Master 799

UVa1218 Perfect Service

稍复杂的树型dp。。状态的类型不仅跟当前节点有关,还与当前jie'di

A Cube Master 793

hdu 5045(上海网赛1004)Contest

题意:一个比赛,n个人搞,有m道题,只能按顺序交题, 思路:

A Cube Master 775

UVa10118 - Free Candies

题意:有4堆糖果,每堆有n个,按顺序排列。每次可以na

A Cube Master 774
上一篇: Google Code jam Qualification Round 2015 解题报告
下一篇: Codeforces Round #298 (Div. 2) 解题报告 (ABCD)
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值