POJ 1275 Cashier Employment(差分约束)#by zh

第十六篇论文.pptx Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks(LSNet) 立即下载
一道差分约束题,在这之前就写了一道而且过了好长时间,现在写这题的时候已经全忘光了,现在把差分约束题的做法总结一下写在这里吧。首先就是找约束关系,也就是找题目中隐含的不等式组。把不等式组找出来以后就要看题目要求进行建图。如果题目要求输出满足不等式关系的最小值那么就要把不等关系转换成dis[v]>=dis[u]+w[u][v]的形式求最长路,建边的时间就要从u向v连边(之前就把这个给搞反了……),如果求最大值就要按照dis[v]<=dis[u]+w[u][v]的关系建边求最短路。
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
int need[30],dis[30],provide[30],ind[30];
const int INF=1000000000;
bool vis[30];
struct Node
{
    int v,w;
};
vector<Node> g[30];
void solve(int k)
{
    for(int i=0;i<=24;i++)
        g[i].clear();
    for(int i=1;i<=24;i++)
    {
        Node temp;
        temp.v=i-1;
        temp.w=-provide[i];
        g[i].push_back(temp);
        temp.v=i;
        temp.w=0;
        g[i-1].push_back(temp);
    }
    for(int i=9;i<=24;i++)
    {
        Node temp;
        temp.v=i;
        temp.w=need[i];
        g[i-8].push_back(temp);
    }
    for(int i=1;i<=8;i++)
    {
        Node temp;
        temp.v=i;
        temp.w=need[i]-k;
        g[i+16].push_back(temp);
    }
    Node temp;
    temp.v=24;
    temp.w=k;
    g[0].push_back(temp);
}
bool spfa(int k)
{
    solve(k);
    for(int i=1;i<=24;i++)
    {
        vis[i]=false;
        dis[i]=-INF;
        ind[i]=0;
    }
    queue<int> q;
    q.push(0);
    dis[0]=0;
    ind[0]=1;
    vis[0]=true;
    while(!q.empty())
    {
        int u=q.front();
        q.pop();
        vis[u]=false;
        for(int i=0;i<g[u].size();i++)
        {
            int v=g[u][i].v,w=g[u][i].w;
            if(dis[v]<dis[u]+w)
            {
                dis[v]=dis[u]+w;
                if(!vis[v])
                {
                    vis[v]=true;
                    ind[v]++;
                    if(ind[v]>=24)
                        return false;
                    q.push(v);
                }
            }
        }
    }
    if(dis[24]==k)
        return true;
    else return false;
}
int main()
{
    //freopen("input.txt","r",stdin);
    int t;
    scanf("%d",&t);
    while(t--)
    {
        memset(provide,0,sizeof(provide));
        for(int i=1;i<=24;i++)
        {
            scanf("%d",&need[i]);
        }
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            int temp;
            scanf("%d",&temp);
            provide[temp+1]++;
        }
        bool ok=false;
        for(int i=0;i<=n;i++)
        {
            if(spfa(i))
            {
                printf("%d\n",i);
                ok=true;
                break;
            }
        }
        if(!ok)
            printf("No Solution\n");
    }
}

多体动力学分析软件:ADAMS_(15).多体动力学建模与分析实践 1. 在工具栏中选择“Body”工具。2. 在图形窗口中点击鼠标左键选择刚体的中心点。3. 按住鼠标左键拖动,定义刚体的尺寸。4. 在弹出的属性对话框中设置刚体的质量、惯性参数等。关节是连接刚体的关键部件,定义关节时需要选择合适的关节类型并设置关节的参数。约束是对刚体运动的限制,定义约束时需要选择合适的约束类型并设置约束的参数。1. 在主菜单中选择“Model” > “Optimization” > “Objective Function”。 阅读详情

相关推荐

Delphi 12.3 精简绿色版下载

Delphi精简绿色版基于原版安装,去掉了InterBase、法语、德语、日语,只保留了Delphi Windows 32和Delphi Windows 64桌面开发,其余部分未做任何修改。Delphi精简绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用Delphi,请购买正版。绿色版基于原版安装,未做任何精简和修改。绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用RAD Studio,请购买正版。

全粘工程师 4308

发生系统错误 1275.此驱动程序被阻止加载

最近在学校windows内核编程,参考的书籍是寒江独钓,然后我就按照书籍上面的步骤一步一步来进行操作,一切进展的很顺利,但是到了利用cmd开启first服务的时候,发生了错误:发生系统错误1275.此驱动程序被阻止加载,于是我就开始google,都说什么开机按F8进入禁用驱动程序签名强制和关闭Windows 7系统中的驱动签名强制要求,关闭强制驱动签名的命令为: bcdedit.exe -set

hushengqiang的专栏 1万+

数学概念 | 旋转矩阵、欧拉角、四元数

旋转矩阵、欧拉角、四元数概念及相关运算;

NapoleonCoder的博客 772

(十六)Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks(LSNet)

相关PPT已经上传,可以在我上传的资源里看到,可免费下载 论文信息 2018 SIGIR(CCFA) 作者单位:CMU(Carnegie Mellon University卡内基梅隆大学) 多元时间序列预测 论文链接:Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks 代码链接:https://github.com/laiguokun/LSTNet 解析论文的参考的论文: 参考一:https://zhuanl

WangZixuan1111的博客 4万+

机器人控制入门

机器人控制入门 对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。 机器人控制有三个元素:控制器(算法),执行器(电机),传感器; 控制的本质就是将规划系统的指令作为输入信息,将传感器探测得到的状态信息和导航系统的定位

彼岸花 1万+

保姆级教程:在PX4 Gazebo仿真中为Iris无人机挂载Intel D435i深度相机(含完整配置流程)

本文提供在PX4 Gazebo仿真环境中为Iris无人机挂载Intel D435i深度相机的完整配置流程,涵盖环境准备、模型部署、插件安装及调试技巧。通过详细步骤和常见问题解决方案,帮助开发者快速搭建深度相机仿真环境,适用于无人机视觉开发与算法测试。

weixin_28688385的博客 338

HDU 1275(两车追及或相遇问题)

每次两车相遇时和追及到时(即两车在同一位置)都算作一次“重合”,可知两者的公式为: 相遇时间:time = (2*n - 1) * L /(Va + Vb) (n=1,2,3.......) 追及时间:time = (2*n - 1) * L /fabs(Va-Vb) (n=1,2,3.......) (本题建议使用 scanf 和 printf,cin 和 cout 可能...

Intelligence1028的博客 1305

卡尔曼滤波器中的Q,R

对于系统状态的估计(滤波结果)所使用的信息来源于两个方面,一个是对系统状态演变模型的了解,包括系统转移矩阵和输入控制矩阵,输入孔质量等,另一方面来自于对系统状态的观测量。从上面公式来看,真正所要滤波得到的结果来自于公式(4)中的系统状态估计值x的某些分量,公式(4)的结果是由公式(1)所得到的状态预测值和来自观测量y计算得到的。所以,在不同算法中,R, Q的取值根据反应的不同量纲,可以有很大的变化,但它们的比值会决定了滤波值应该更多来自于系统模型演化的信息,还是来自于观察信号信息。

qq_43416206的博客 501

51Nod 1275 - 连续子段的差异(单调队列)

【题目描述】 【思路】 固定左端点 iii,向右寻找一个最远的右端点 jjj ,使得区间 a[i,j]a[i,j]a[i,j] 中的最大值减去最小值的差 &lt;=k&lt;=k<=k 同时 a[i,j+1]a[i,j+1]a[i,j+1] 中的最大值减去最小值的差 &gt;k&gt;k>k,这样一来 [...

weixin_30608131的博客 179

读懂ARM汇编程序,你只差这篇!保姆级教程(附完整示例剖析)!

ARM汇编中的符号、标号、伪操作有哪些?C语言和汇编语言如何混合编程?GNU ARM汇编和ARM汇编的区别有哪些?

车载系统攻城狮 1万+

51智能小车(双轮)

前几天接了个小单子,是一个基于51单品机的作品,发现自己对小车的认识还是不太🆗。也算是完成了任了的;欢迎各位小伙伴来多多交流,大家一起进步。最后有需要单片机课程设计的小伙伴滴滴我哦(有偿)。企鹅:2397746994。

qq_56992543的博客 2348

SpringMVC小白入门学习笔记--三层架构,mvc模型,优势,组件,注解

目录1.三层架构2.mvc模型3.SpringMVC 是什么4.SpringMVC 在三层架构的位置5.SpringMVC 的优势6.SpringMVC 和 Struts2 的优略分析7.常用组件8. RequestMapping注解9.常用注解 1.三层架构 我们的开发架构一般都是基于两种形式, 一种是 C/S 架构,也就是客户端/服务器, 另一种是 B/S 架构,也就 是浏览器服务器。 在 JavaEE 开发中,几乎全都是基于 B/S架构的开发。 那么在 B/S架构中,系统标准的三层架构 包括:表现层、

逆天的博客 850

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Error 1275 - 此驱动程序被阻止加载

0 用DriverMonitor加载一个驱动准备调试,出现下图; 现摘录网上相关论述如下; 1 遇到驱动程序阻止加载,有多种原因,可以参考如下解决方法:   方法一:   1.右键桌面上的“计算机”→“属性”。   2.选择左边选项卡的“高级系统设置”。   3.切换到左边的“硬件”选项卡→选择第二个“设备安装设置”。   4.在弹出来的窗口选择“否”→第

bcbobo21cn的专栏 3万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU1529/POJ1275 Cashier Employment(差分约束+二分答案)

题意:有家24小时营业的超市,现在给出每个小时需要的员工数Ri(i = 0, 1, 2, ..., 23),Ri表示从时刻i开始的一个小时内需要的员工数。现在有N名员工可以上岗,每人都有一个固定的上岗时间,且每个人只会在上岗之后固定工作八个小时,不会换班。求在满足人数要求的前提下,可以安排的最少员工数。可能无解。 思路:真是一个思维好题。 设ai为第i小时实际上岗的人数,Si为前i小时一共上岗...

hcx11333的博客 292

VC中sqlite的使用

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

吹爆系列:深入探索Android布局优化大科普

Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲作者丨jsonchao来自丨掘金https://ju...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 1212

第九章 动态规划-1275:【例9.19】乘积最大

1275:【例9.19】乘积最大 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,...

zqhf123的博客 2199

第11届蓝桥杯青少组C++最后一轮选拔赛真题回忆版

一、选择题(共150分,每题30分) 1 下面哪个密码最安全 A. 111111 B. 123456 C. qwerty D. Z2a8Q1 答案:D不解释。 2.如果今天是星期六,再过60天是星期几 A. 星期三 B. 星期四 C. 星期五 D. 星期六 答案:A。 分析:可利用周期。(6 + 60 % 7) % 7 = 3 3.90到100之间有几个素数 A. 0 B. 1 C. 2 D. 3 答案:B 分析:只有97一个数 4.下列几个32位IP地

小树学信奥 3221

POJ 1275 差分约束

传送门 题意: 有一个商店,给出了这个商店一天中每个小时所需要的最少收银员数量R[i]R[i]R[i]。 有nnn个求职者,每个求职者有一个开始工作时刻t[i]t[i]t[i],在t[i]t[i]t[i]时刻后的八小时,这个求职者都在工作。 问老板最少需要雇佣多少个员工,满足商店营业的条件。 思路 构造差分约束系统。(以下下标均从1开始) 令S[i]S[i]S[i]表示前 iii 个小时在工作的员...

WayJasy的博客 578

leet1275: 找出井字棋的获胜者

直接将坐标弄成 转换一下即可 public static String tictactoe(int[][] moves) { Set<Integer> a = new HashSet<>(); Set<Integer> b = new HashSet<>(); for(int i=0;i<mov...

qq_38304320的博客 244

(腾讯 - 一面)2020腾讯暑期实习面试

全程两小时,无死角吊打我,java一点没问 链表和数组有什么异同及其应用场景,map如何实现,及其应用场景(我寻思我除了写算法题用过,其他还有啥场景吗) hash的冲突如何解决,除了拉链和线性探测还有哪些,具体应用场景 红黑树会吗?讲一遍,不会 排序有哪些?我全讲了一遍 堆排,快排,归并(口述) 平常在哪用过排序?(写题?其他的我不知道了) 二叉树的公共节点(口述) 用队列实现栈(口述) leetcode34 写完了问我如何编写测试用例? 进程线程异同及应用场景 进程的整个流程(如何启动,怎么分配内存?)

互联网校招面经 1126

LeetCode-Python-1275. 找出井字棋的获胜者(模拟法)

A 和B在一个3x3的网格上玩井字棋。 井字棋游戏的规则如下: 玩家轮流将棋子放在空方格 (" ") 上。 第一个玩家 A 总是用"X" 作为棋子,而第二个玩家 B 总是用 "O" 作为棋子。 "X" 和 "O" 只能放在空方格中,而不能放在已经被占用的方格上。 只要有 3 个相同的(非空)棋子排成一条直线(行、列、对角线)时,游戏结束。 如果所有方块都放满棋子(不为空),游戏也...

Keep Coding 892

kaggle等算法比赛的合奏方法Ensemble(全)

第一种(多输出回归问题) import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) from scipy.stats import mode import pandas as pd # Input data files are available in the "../input/" directory. # For example, running

yyy的技术日常 1万+

IDEA 远程调试 Spring Boot 源码

一)、查看关于-agentlib命令 在终端命令行中输入"java"就能看到"-agentlib"命令 二)、关于-agentlib的详细使用说明 根据上边提示的文字,我们可以输入以下命令来查看关于-agentlib的详细使用 java -agentlib:jdwp=help 我们一般会使用到前面列举的四个选项,transport的值为dt_socket。 如果是本地环境,address可以不用加ip地址 运行以下命令,就可以让jar以远程调试的形式启动,会监听调试器的连接 java -agent

IceStreamLab 923

POJ1985 Cow Marathon (DP/BFS 树的直径) #by Plato

http://poj.org/problem?id=1985 题意:给一棵树,求树的直径 方法一)tree-DP 类似HDU2196,可以参见: http://www.cnblogs.com/celia01/archive/2012/07/30/2615842.html #include #include #include #include #include using

XDU_Truth的专栏 4262

HDU 3691 Nubulsa Expo(全局最小割)(10福州B题)#by zh

这题给出一个无向图和一个源点,让你求从这个点出发到某个点最大流的最小值。由最小割最大流定理,最全局最小割就可以了,但是因为我没有模版所以这题就悲剧了……之前找到了一个模版改半天没改好,后来发现只要改一个地方就行了,AC了发现速度还挺快的,代码也不长,嗯,这个模版要收藏#include #include #include using namespace std; const int MAXN = 3

XDU_Truth的专栏 2179

HDU 4435 charge-station(12天津E题)#by zh

今天做天津题的时候感觉特别困,思路也没想清楚,一开始以为是费用流,后来发现有贪心的性质,枚举验证就可以了,但是不知道怎么去验证,之前写了个dfs,但是由于每个点不止能经过一次,所以过不了样例,看了题解后才知道要从源点开始判断到其他点的距离,如果到一个非加油站的点的距离小于等于d的话这个点就是可到达的,如果到一个加油站距离小于d的话也可以到达。之前一直没想到这个性质,伤不起……#include #

XDU_Truth的专栏 1890
上一篇: 长春现场赛H题
下一篇: POJ 1988 Cube Stacking(带权并查集)#by zh
XDU_Truth
博客等级 码龄14年 14粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值