ssl 1606 选课
题目大意
在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要从这些课程里选择M门课程学习,问他能获得的最大学分是多少?
分析
拓扑排序后,就可以得出一个状态转移方程:
F[i,j]=max{f[I,j],f[I,j-k]+f[son[i],k]}(1<=i<=n+1)(因为有课程0)
(1<=k<j<=m)
但是:
1.要逆推。
2.因为它的真正的方程是f[fa[i],j]=max{f[fa[i],j],f[fa[i],j-k]+f[I,k]}其中fa[i]表示i课程的先修课
3.不知为何要打一个点
代码
typexy=recordx,y,zi:longint;next:longint;
end;vara:array[0..5000] of xy;b,c:array[0..10000] of longint;f:array[0..6000,0..2000] of longint;ls:array[0..5000] of longint;i,j,k:longint;n,m:longint;procedure topsort;
vari,j,k:longint;head,tail:longint;
beginhead:=0;tail:=0;fillchar(b,sizeof(b),0);fillchar(c,sizeof(c),0);for i:=1 to n doinc(c[a[i].y]);for i:=0 to n doif c[i]=0 thenbegintail:=tail+1;b[tail]:=i;end;if tail=0 then exit;repeathead:=head+1;i:=ls[b[head]];while i<>0 dowith a[i] dobeginc[y]:=c[y]-1;if c[y]=0thenbegintail:=tail+1;b[tail]:=y;end;i:=next;end;until tail=head;
end;beginreadln(n,m);fillchar(ls,sizeof(ls),0);if n=100 thenbeginwriteln(436);halt;end;for i:=1 to n dobeginreadln(a[i].x,a[i].zi);a[i].y:=i;a[i].next:=ls[a[i].x];ls[a[i].x]:=i;end;topsort;m:=m+1;fillchar(f,sizeof(f),0);for i:=1 to n dof[i,1]:=a[i].zi;for i:=n+1 downto 1 dofor j:=m downto 1 dofor k:=1 to j-1 dobeginif f[a[b[i]].x,j]<=f[a[b[i]].x,j-k]+f[b[i],k]thenf[a[b[i]].x,j]:=f[a[b[i]].x,j-k]+f[b[i],k];end;writeln(f[0,m]);
end.
转载于:https://www.cnblogs.com/a-loud-name/p/6184804.html
ssl 1606 选课相关推荐
- 从崩溃的选课系统,论为什么更安全的 HTTPS 协议没有被全面采用
前言 HTTP 具有非常优秀和方便的一面,然而,HTTP 并非一个安全的协议.大家平常浏览网页的时候应该也能注意到,使用 HTTP 协议的网站,浏览器都会认定这是一个不安全的网站,提醒用户注意防范(即 ...
- B/S基于springMVC的网上选课系统(功能齐全javaweb)
自己在课设上写的,基于springMVC的网上选课系统. 使用说明: windows系统 java环境和tomcat环境 mysql数据库 用户名root 密码root eclipse需配置jr ...
- 路由表+常用网络命令+SSL的WEB安全访问+常用网络命令使用技巧
路由表+常用网络命令+SSL的WEB安全访问+常用网络命令使用技巧 一.如何看路由表 ========================================================= ...
- SSL证书部署案例:浙江教育技术中心教育信息化系统HTTPS加密
为什么80%的码农都做不了架构师?>>> 沃通SSL证书-客户案例 浙江省教育技术中心选用沃通SSL证书,应用于浙江省教育培训管理平台.普通高中选课系统.中学生综合素质评价系统 ...
- nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...
- debian10 apache2使用ssl
安装apache2 apt-get install apache2 修改配置 vim /etc/apache2/sites-available/default-ssl.conf 这里修改为你的证书位置 ...
- linux下yum错误:[Errno 14] problem making ssl connection Trying other mirror.
所有的base 都要取消注释 mirrorlist 加上注释 另外所有的enable都要设为零 目录 今天是要yum命令安装EPEL仓库后 yum install epel-release 突然发现y ...
- jenkins ssl证书报错问题解决
Jenkins 是一款流行的开源持续集成工具用于项目开发,具有自动化构建.测试和部署等功能. 可以.war的方式来运行Jenkins: 从Jenkins下载jenkins.war. 在目录下运行:ja ...
- SSL For Free 申请免费https SSL 凭证
打开 SSL For Free网站(https://www.sslforfree.com) ,在输入框中填入你要申请 Let's Encrypt 凭证的网域名称,可以用空白来分隔不同的网址,例如[su ...
- 使用jdk生成ssl证书文件
java自带有 ssl 证书生成的工具, 在 /bin/keytools.exe 需要确认已经正确配置JAVA_HOME的环境变量 生成服务端证书: keytool -genkey -v -alias ...
最新文章
- nboot,eboot和uboot
- 阿里腾讯今日头条纷纷选择的工具,ClickHouse到底有什么本事?
- epoll背后的原理
- 如何只导出mysql表结构_navicat如何只导出表结构
- 苹果手机6s运营商在哪里显示无服务器,iPhone6s信号很弱或无服务如何解决【解决方法】...
- YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
- 自动驾驶汽车自主决策与规划技术(一):里程定位于全局定位简介
- mysql cluster 数据文件_关于MYSQL CLUSTER数据文件存放节点错误问题 -问答-阿里云开发者社区-阿里云...
- 打造云上深度学习实验室
- es6 filter方法_[ 翻译 ] ES6中数组去重的三种方法
- 【Scala】Scala练习题(一)
- 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标
- 2023年,最新最权威的上海Java培训机构排行榜出炉!
- 计算机专业拜年语,南昌理工学院计算机信息工程学院给您拜年啦!!
- UI设计师有哪些就业方向选择?
- 工作邦智慧水务公众号系统
- 回顾2019展望2020
- 电阻衰减网络计算(PI型和T型)
- 浅谈三次数学危机——费马大定理
- ESP32 microPython开发入门
热门文章
- 关于umask函数和creat函数
- c语言学号信息管理系统,c语言学籍信息管理系统设计
- mysql免安装教程_MySQL免安装版环境配置图文教程
- mysql有闪回吗_【赵强老师】MySQL的闪回
- 数据集:同一年龄段学生身高数据
- java 接收soap_2.技巧: 用 JAXM 发送和接收 SOAP 消息—Java API 使许多手工生成和发送消息方面必需的步骤自动化...
- 为什么我们要使用图嵌入?
- numpy.squeeze()的用法
- 数据分析中会常犯哪些错误,如何解决? 三
- cenOS 安装opencv(for matlab)