BG10

news/2024/11/30 7:45:33/
  1. 问题
    相容问题,解析时给出其他几种贪心策略(如按开始时间从小到大、每个活动时间的占用时间等),并给出这些贪心策略无法实现最优的反例。
    问题描述
    有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。

  2. 解析
    [问题的理解和推导,可用电子版直接在此编写,也可用纸笔推导,拍照嵌入本文档]
    建模:设S={1,2,…,n}为活动的集合,si和fi分别为活动i的开始和截止时间,i=1,2,…,n
    定义:活动i和j相容 si>=fi或sj>=fi,i≠j
    求S最大的两两相容的活动子集A。
    按开始时间从小到大:
    在这里插入图片描述

  3. 设计在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct huodong{int ss;int ee;int time;
}A[130];
void sort(huodong A[],int n) {for (int i = 0; i < n - 1; i++){for (int j = 1; j < n - i; j++){if (A[j - 1].end > A[j].end){int temp = A[j - 1].end;A[j - 1].end = A[j].end;A[j].end = temp;temp = A[j - 1].start;A[j - 1].start = A[j].start;A[j].start = temp;temp = A[j - 1].time;A[j - 1].time = A[j].time;A[j].time = temp;}}}
}
int f(huodong A[],int n) {int k = 1;int lastend = A[0].end;for (int i = 1; i < n; i++){if (A[i].start > lastend){k++;lastend = A[i].end;}}return k;
}
int main(){int l,pp;printf("请输入活动数目:");scanf("%d", &l);printf("请输入输入活动开始和结束时间:");for(pp = 0; pp < l; pp++){scanf("%d", &A[pp].ss);scanf("%d", &A[pp].ee);A[pp].time = A[pp].ee - A[pp].ss;}sort(A,l);printf("%d", f(A, l));
}
  1. 分析
    时间复杂度:T(n)=O(n)

http://www.ppmy.cn/news/806645.html

相关文章

2022强网杯-07-30-re-GameMaster

re-GameMaster .net程序&#xff0c;使用dnspy反编译 获取输入&#xff0c;放到arrayList,然后按esa键就可以进入这个验证函数 接着发现调用了goldFunc函数&#xff0c;跟进 发现有三组和其他不同的 异或 34 AES 系列 进行AES.MODE_ECB模式操作&#xff0c;key也给出 进行存储…

x^x=10

题目取自2015年蓝桥杯校内选拔赛B组第3题&#xff0c;是一个非常有意义的题。 如果x的x次幂结果为10&#xff08;参见【图1.png】&#xff09;&#xff0c;你能计算出x的近似值吗&#xff1f; 显然&#xff0c;这个值是介于2和3之间的一个数字。 请把x的值计算到小数后6位&…

绘制海洋温度/盐度廓线

import pandas as pd import matplotlib.pyplot as plt from pylab import mpl # 设置显示中文字体 mpl.rcParams["font.sans-serif"] ["SimHei"] document_path r"E:\廓线数据" axplt.gca() #文件名字 filename_hs1 [XB5, XB17,XB6, XB8, XB1…

signature=79c15555364a0c6cd0022a5265ab0ae3,XM06B5 1SBP260103R1001

XM06B5 1SBP260103R1001 作为一款主打户外的产品&#xff0c;除了品质要过硬&#xff0c;定位系统也必须跟上&#xff0c;多星定位是肯定的。这次Amazfit T-Rex Pro给的也很足&#xff0c;支持GPS、GLONASS、Galileo以及北斗四星定位&#xff0c;并提供三种模式选择&#xff0c…

xd

我其实是一个很低调的程序员。 为什么这么说&#xff1f; 程序员&#xff0c;又名攻城师&#xff0c;自古攻城从来是杀敌一千自损八百。损的是什么&#xff1f;损的是精气神&#xff01; 我已经每天自损精气神三年多了&#xff0c;早已消磨了锐利&#xff0c;失去了朝气&#x…

1x pcie 速度_在主板规格上,x8在“1 x PCIe 3.0 x16(x8带宽)”中的含义是什么?...

3 x PCI(32位) 1 x PCIe 3.0 x16 1 x PCIe 3.0 x16(x8带宽) x8带宽位是什么意思&#xff0c;并且两个PCIe 3.0插槽不应该相同&#xff1f; 这意味着主板有16个(版本3)PCIe通道和两个连接器。您可以使用一个连接器&#xff0c;它将连接所有十六个通道&#xff0c;或使用两个插槽…

xdebug v3.x.x配置变化

给新装的虚拟机安装lamp环境&#xff0c;安装到xdebug的时候突然怎么也断不下来&#xff0c;怎么回事&#xff1f;&#xff1f;&#xff1f;原来是xdebug新版本的配置文件写法有了变化&#xff1a; 版本为2.xx的xdebug&#xff1a; zend_extensionxdebug.so xdebug.remote_e…

FIDO2.0 认证注册流程

最近再JAVACARD上实现了FIDO2的认证和注册&#xff0c; 难点主要在于CBOR数据在JAVACARD中的解析和打包&#xff0c;其他没啥。 已经再FIDO官网测试通过。 FIDO2注册加解密主要流程 1&#xff0c;设备个人化写入私钥到Token中 2&#xff0c;用写入的私钥对数据进行签名返回&…