POJ 2947 Widget Factory 高斯消元 解线性同余方程

YOLOv8实战:5分钟搞定Windows环境下的目标检测模型部署(附常见报错解决方案) 本文详细介绍了在Windows环境下快速部署YOLOv8目标检测模型的实战指南,包括环境配置、模型加载、快速验证及常见报错解决方案。通过5分钟快速入门教程,帮助开发者高效实现计算机视觉应用,特别适合需要快速上手的AI开发者。 阅读详情

时空隧道


题意:
有n种工作,m个人,每个人在某段时间中完成k个任务,求出n个任务的单个完成时间…(每个任务完成时间在[3,7]区间中)…
如果无解输出Inconsistent data.
如果有无穷多个解输出Inconsistent data.


分析:
很容易就可以得出方程….然后消元就好了…


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<map>
//by NeighThorn
using namespace std;
const int maxn=300+5,MOD=7;
int n,m,coe[maxn][maxn];
map<string,int> mp;
string str[2];
inline int gauss(void){
    int i,j;
    for(i=1,j=1;i<=m&&j<=n;j++){//i枚举第几个方程,j枚举第几个主元 
        int k=i;
        while(!coe[k][j]&&k<=m)
            k++;
        if(coe[k][j]){//消元 
            for(int s=1;s<=n+1;s++)
                swap(coe[k][s],coe[i][s]);
            for(int l=i+1;l<=m;l++)
                if(coe[l][j]){
                    int x=coe[i][j],y=coe[l][j];
                    for(int s=j;s<=n+1;s++)
                        coe[l][s]=((coe[l][s]*x-coe[i][s]*y)%MOD+MOD)%MOD;
                }
            i++;
        }
    }
    for(int x=i;x<=m;x++)
        if(coe[x][n+1])
            return -1;
    if(i<=n)
        return n-i+1;
    for(int x=n;x>=1;x--){
        for(int y=x+1;y<=n;y++)
            if(coe[x][y])
                coe[x][n+1]=((coe[x][n+1]-(coe[y][n+1]*coe[x][y]%MOD))%MOD+MOD)%MOD;
        while(coe[x][n+1]%coe[x][x]!=0)
            coe[x][n+1]+=MOD;
        coe[x][n+1]=(coe[x][n+1]/coe[x][x])%MOD;
    }
    return 0;
}
signed main(void){
    mp["MON"]=1,mp["TUE"]=2,mp["WED"]=3,mp["THU"]=4,mp["FRI"]=5,mp["SAT"]=6,mp["SUN"]=7;
    while(scanf("%d%d",&n,&m)&&!(!n&&!m)){
        memset(coe,0,sizeof(coe));
        for(int i=1,num;i<=m;i++){
            cin>>num>>str[0]>>str[1];
            coe[i][n+1]=(mp[str[1]]-mp[str[0]]+1+7)%7;
            for(int j=1,x;j<=num;j++)
                scanf("%d",&x),coe[i][x]++;
            for(int j=1;j<=n;j++)
                coe[i][j]%=7;
        }
        int lala=gauss();
        if(lala==-1)
            puts("Inconsistent data.");//没有解 
        else if(lala)
            puts("Multiple solutions.");//无穷解 
        else{
            for(int i=1;i<=n;i++)
                if(coe[i][n+1]<3)
                    coe[i][n+1]+=7;
            for(int i=1;i<n;i++)
                printf("%d ",coe[i][n+1]);
            printf("%d\n",coe[n][n+1]);
        }
    }
    return 0;
}

by >_< NeighThorn

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题) 阅读详情

相关推荐

GIS分析-利用K-Means方法进行地震分析

通过“聚类”可以获得有关我们所拥有的数据的各种线索,这是数据挖掘技术之一。分析创建的组有助于决策过程。在这项研究中,我们将使用数据挖掘工具之一的K-Means方法研究安纳托利亚东部地区近100年发生的地震的空间分布,并试图获得有用的信息,以供未来的研究使用。我从局地震目录页面获得了研究所需的地震数据,并从获得了区域边界数据。

gis收藏家的博客 1568

POJ 2947 线性同余方程组 + 高斯消元

题解 传送门 POJ 2947 Widget Factory 题解 设制作第 iii 类装置需要的时间为 xix_ixi​,对于每条记录,统计在工人工作时间内各类装置制作的数量 aia_iai​,设开始、结束的星期数之差为 bib_ibi​,由于不知道工人开始、结束工作相隔多少周,于是得到一个模数为 777 的线性同余方程 ∑i=0n−1aixi=bimod  7\sum\limits_{i=0}^{n-1}a_ix_i=b_i\mod 7i=0∑n−1​ai​xi​=bi​mod7 共 mmm 条记录,故

neweryyy的博客 302

esp32 python开发环境搭建_eclipse esp32开发环境搭建

安装方法基本是按照官网提供的方法来操作https://github.com/espressif/idf-eclipse-plugin#GettingStarted但是官网的方法安装之后还是不能编译成功的,第一次编译会出现一下问题问题1:Building in: E:\eclipse-workspace\helloworlk\buildcmake -G Ninja -DCMAKE_TOOLCHAIN...

weixin_39978276的博客 1262

高斯消元(解线性方程组 or 线性同余方程组)

解线性方程组或线性同余方程组。陪队友写了 1 天,挺爽的。 目前还没有考虑 无关变元 的情况。 #include #include #include #include using namespace std; typedef long long LL; int gcd(int a,int b){ return b ? gcd(b,a%b) : a; } int lcm(

nyist_xiaod 1704

Cadence Allegro 17.4 保姆级教程:PCB位号重排与反标回原理图完整避坑指南

本文详细解析了Cadence Allegro 17.4中PCB位号重排与反标回原理图的全流程,包括安全工程准备、智能重排策略和反标黄金法则。特别针对芯片封装协同设计(Co-Design)场景,提供可追溯的版本管理和故障恢复方案,帮助工程师避免常见位号陷阱,确保设计文件一致性。

weixin_30613433的博客 438

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

本期我们讨论在线点播的视频格式,对比这些视频格式的优劣以及原因 1、封装格式的作用 2、MP4 3、FLV 4、HLS

池鱼 - YiiGaa 2万+

高斯消元法

高斯消元法(Gauss Elimination) 分析 & 题解 & 模板——czyuan原创 高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵。 高斯消元法的原理是: 若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组。 所以我们可以用初等行变换把增广矩阵转换为行阶梯阵,然后回代求出方程的解。

幸福在路上 1万+

适配adv7280m相机到rk3588的安卓平台

Kernel-5.10/arch/arm64/configs/firefly_defconfig里面增加配置CONFIG_VIDEO_ADV7180=y。出现一次开不了机器的情况,接调试口发现,在set_fmt里面用s_ctrl对mipi的频率进行设置会出现异常。设备树修改kernel-5.10/arch/arm64/boot/dts/rockchip/13.dts。把MEDIA_ENT_F_ATV_DECODER改回MEDIA_ENT_F_CAM_SENSOR。第二次编译,仅仅刷新boot.img。

chenyq14的专栏 2447

高斯消元解模同余方程组

Widget Factory 题意:输入n,m,n代表n种工具,接下来m行每行输入k,start,end,k种类型的工具开始生产的时间以及结束的时间,接下来一行k个数字表示k种工具;生产一种工具最少3天,最多9天 问每种类型的工具生产几天,无解输出Inconsistent data.,多组解输出Multiple solutions,唯一解输出各需要几天。 假设生产一个i类型的工具需要xi天则

周周的博客 675

yanshee 机器人全流程指南

2.点击yanshee app右上角根据提示操作 3.当手机显示成功连接 ,按下机器人胸前按钮说出“ip地址”4.根据机器人播报的ip地址加上:8888使用浏览器访问,你就会看到 jupyterd的界面,里面可以新建文件也可以改他存在的文件。我们使了yanshee机器人,这个是面向K12、中高职、高校学生推出的开源人形机器人教育平台,应用于课程教学、竞赛、科研活动等场景。我们接下来可以根据这些apl做许多好玩的,比如控制他运动,跳舞唱歌,it`s easy。注意电脑,手机,机器人必须连同一个网。

qq_44827929的博客 7610

ReAct框架到多智能体协作:OpenClaw任务分解机制的演进与突破

AI的最终价值是落地,是帮用户解决实际问题,而不是停留在聊天界面里。从ReAct框架到多智能体协作,OpenClaw的任务分解体系走了一条非常务实的路线:所有的优化都是为了解决真实场景里的痛点,所有的设计都是为了让用户用起来更省心。很多人说现在的AI还是“人工智障”,那是因为他们没有用到真正能落地的AI产品。当你用过OpenClaw,体验过你说一句话它就能把一整套复杂任务全都做完的感觉,你就会明白:AI代替人做重复性工作的时代,已经真的来了。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 311

HDU - 5755 高斯消元解同余方程

题意: n*m的矩阵,每个矩阵都有0,1,2三种数值,一开始每个点都有一个初始值,每次可以选择一个位置+2,然后该位置的上下左右都+1,问多少次之后可以将所有位置的数值都变成0。 思路: 很典型的开关问题,没什么好说的,高斯消元,不过这题不是以前的异或方程,而是模3同余方程。 代码: #include using namespace std; const int MAXN = 1111

Bahuia的博客 936

【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

转载请注明出处:http://blog.youkuaiyun.com/qq_26525215 本文源自【大学之旅_谙忆的博客】 在启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。mysql 版本 5.7.14 系统 win 7后来经过一系列的百度,谷歌,总算是解决了。首先,你需要把原来的服务删除:mysqld --remove mysq

谙忆-陈浩翔 12万+

POJ 2947-Widget Factory(高斯消元解同余方程式)

题目地址:POJ 2947 题意:N种物品,M条记录,接写来M行,每行有K,Start,End,表述从星期Start到星期End,做了K件物品,接下来的K个数为物品的编号。此题注意最后结果要调整到3-9之间。 思路: 很容易想到高斯消元。但是是带同余方程式的高斯消元,开始建立关系的时候就要MOD 7 解此类方程式时最后求解的过程要用到扩展gcd的思想,举个例子,如果最后得到的矩阵为:

Rocky0429 2824

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

poj 2947 Widget Factory (高斯消元,解模线性方程)

题意:生产一些零件,已知零件种数,记录条数 记录只记录了某次生产从周几开始,周几结束,以及生产了哪些产品。 每件商品生产所需天数为3-9天。 求每样产品需要多少天才能完成。 若无解输出Inconsistent data. 有无穷解输出Multiple solutions. 有唯一解,输出其解

happy_lcj 1799

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ 2947 Widget Factory 高斯消元

转载请注明出处,谢谢 http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents           by---cxlove 继续高斯消元 建立方程 A11*X1+A12*X2+……A1N*XN同余B1%7 A21*X1+A22*X2+……A2N*XN同余B2%7 AM1*X1+AM2*X2+……AMN*XN同余BM%7 然后便是

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

poj 2947 Widget Factory(高斯消元)

Widget Factory Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 4032   Accepted: 1337 Description The widget factory produces several different kinds of wid

街角的花街糖 1150

高斯消元练习题集

1.POJ-1222 EXTENDED LIGHTS OUT 题意 开关问题,给一个矩阵,每次翻转,上下左右都会一起翻转,问你翻转哪些位置,可以把灯全部关上。 思路 异或运算下的高斯消元 典型的开关问题,和 POJ 1830 开关问题 是一样的属于 XOR 类型的消元。 /*************************** *author:ccf *source:poj-1222- EXTE...

Miserable_ccf的博客 2113

【POJ 2947】Widget Factory(高斯消元+逆元)

【POJ 2947】Widget Factory(高斯消元+逆元) Widget Factory Time Limit: 7000MSMemory Limit: 65536KTotal Submissions: 5464Accepted: 1884DescriptionThe widget factory produces several different kinds of widgets. Ea

ACMer' 1160

POJ2947 Widget Factory [高斯消元]

Widget  Factory\mathcal{Widget\ \ Factory}Widget  Factory

Zbr162的博客 161

poj 2947 Widget Factory(高斯消元 模线性方程)

题目链接:http://poj.org/problem?id=2947 大致题意:产品制造者制造型号不同的产品所需的时间是不同的(规定为3~9天),现在已知生产产品的的种数N和工作者的人数M,告诉你每个工作者是从星期几开始工作,星期几结束的(可能隔着n周),这个工作者生产了K件产品,产品的型号分别是多少。根据以上信息,求是否可以求出这N中产品的具体生产所需时间(无解 一解 多解),有解...

169

PKU 2947 Widget Factory

题目:http://poj.org/problem?id=2947 题意:工人生产不同的部件需要不同的时间,最少需要3天,最多需要9天。      现有给出n种部件和m条记录,每条记录包括该工人生产部件的总数k和他开始生产时间和结束时间(只给出是周几,不给出具体时间),之后给出这K个部件跟别所属的种类。      最后求出生产这n种部件分别所需要的时间。 思路:高斯消元,设每种部件生产一个所需

AC_coder的专栏 852

poj 2947 Widget Factory(高斯消元)

题意:p strat end ,表示员工i开始工作的星期,以及被解雇的星期,和在这期间他共加工了p种首饰,下一行是他都加工了哪几种首饰,问你通过这些记录是否能得出加工每种首饰需要多少天。 思路:典型的高斯消元,设每种首饰需要的天数为xi,这个的每个记录就是一个方程,所以用高斯消元法解这个方程组就可以了,需要注意的是,他给出的是一个星期中的某一天,但他做了几个星期不知道,a1*x1 +...

B218707的博客 183

蓝书(算法竞赛进阶指南)刷题记录——POJ2947 Widget Factory(带模高斯消元)

题目:POJ2947. 题目大意:有nnn种部件,每种部件生产一个的时间为333~999天.现在给定mmm条记录,每个记录为某种kik_iki​个部件的生产时间为星期几sis_isi​到星期几tit_iti​,以及这kik_iki​个部件的类型,问每种部件单个生产所需的时间.若无解输出&amp;amp;amp;amp;quot;Inconsistent data.&amp;amp;amp;amp;quot;,有多组解输出&amp;amp;amp;amp;quot;Multiple s

hzk_cpp的博客 243

poj 2947 Widget Factory(模7环上的高斯消元)

http://poj.org/problem?id=2947 大致题意: 有n种装饰物,m个已知条件,每个已知条件的描述如下: p start end a1,a2......ap (1 第一行表示从星期start到星期end一共生产了p件装饰物(工作的天数为end-start+1+7*x,加7*x是因为它可能生产很多周),第二行表示这p件装饰物的种类(可能出现相同的种类,即ai=aj)。

1151

POJ2947 Widget Factory 高斯消元+扩展GCD解同余方程组

题目链接:http://poj.org/problem?id=2947 题目大意:有n 种装饰物,m 个已知条件,每个已知条件的描述如下: p start end a1,a2......ap (1 第一行表示从星期start 到星期end 一共生产了p 件装饰物(工作的天数为end-start+1+7*x,加7*x 是因为它可能生产很多周),第二行表示这p 件装饰物的种类(可能出现

AC_Gibson的专栏 611
上一篇: POJ 2132 Cow Math DP
下一篇: 网址
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值