51nod 1636
我看过题解了还下了数据,表示很惭愧不想说什么,但还是说两句吧
sol:
因为差值很小只有100,所以对数组下标存的是(选择的数值和左端点的差值)
f[i][j][k]即为第i天选了第j课 k为上述内容 还有注意转移的时候要保证上一个合法才能转到下一个,就是上一个一定不为0;
听起来不难然而我还是看了题解qwq
#include<bits/stdc++.h>
using namespace std;
#define int long long
struct node{int l, r, c;}a[];
inline bool cmp(node a,node b){return a.c < b.c;}
int n, m, K, f[][][], ans;
signed main()
{
freopen("51nod1636.in","r",stdin);
while(~scanf("%lld%lld%lld", &n, &m, &K))
{
ans = ;
memset(f, , sizeof f);
for(int i = ; i <= m; i++)
scanf("%lld%lld%lld", &a[i].l, &a[i].r, &a[i].c);
sort(a + , a + m + , cmp);
for(int i = ; i <= m; i++)
for(int j = ; j <= a[i].r - a[i].l; j++)
f[][i][j] = a[i].l + j;
for(int i = ; i <= n; i++)
for(int j = ; j <= m; j++)
for(int jj = ; jj < j; jj++)
{
if(a[j].c > a[jj].c)
for(int k = , oo; k <= a[j].r - a[j].l; k++)
{
oo = a[j].l + k - K;
if (oo >= a[jj].l && oo <= a[jj].r && f[i - ][jj][oo - a[jj].l])
f[i][j][k] = max(f[i][j][k], f[i - ][jj][oo - a[jj].l] + a[j].l + k);
if ((a[j].l + k) % K == )
{
oo = (a[j].l + k) / K;
if (oo >= a[jj].l && oo <= a[jj].r && f[i - ][jj][oo - a[jj].l])
f[i][j][k] = max(f[i][j][k], f[i - ][jj][oo - a[jj].l] + a[j].l + k);
}
}
}
for(int i = ; i <= m; i++)
for(int j = ; j <= a[i].r - a[i].l; j++)
ans = max(ans, f[n][i][j]);
if (ans) printf("YES\n%lld\n", ans);
else printf("NO\n");
}
}
51nod 1636的更多相关文章
- 51nod 1636 教育改革 | DP
51nod 1636 教育改革 | DP 题面 最近A学校正在实施教育改革. 一个学年由n天组成.A学校有m门课程,每天学生必须学习一门课,一门课程必须在一天内学习完.在学习完第i门课程后,学生们会收 ...
- 51nod 1636 教育改革
题目链接 令f[i][j][k]为第i天选择的课程为j,设置作业为a[j]+k时的最大作业量. 那么f[i][j][k]可以由哪些状态转移而来?先把课程按复杂度排序,那么可以转移来的课程是f[i-1] ...
- 【51Nod 1244】莫比乌斯函数之和
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 模板题... 杜教筛和基于质因子分解的筛法都写了一下模板. 杜教筛 ...
- 51Nod 1268 和为K的组合
51Nod 1268 和为K的组合 1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 给出N个正整数组成的数组A,求能否从中选出若干个,使 ...
- 51Nod 1428 活动安排问题
51Nod 1428 活动安排问题 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活 ...
- 51Nod 1278 相离的圆
51Nod 1278 相离的圆 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278 1278 相离的圆 基 ...
- 【51Nod 1501】【算法马拉松 19D】石头剪刀布威力加强版
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1501 dp求出环状不连续的前缀和,剩下东西都可以算出来,比较繁琐. 时间 ...
- 【51Nod 1622】【算法马拉松 19C】集合对
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1622 简单题..直接暴力快速幂 #include<cstdio&g ...
- 【51Nod 1616】【算法马拉松 19B】最小集合
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1616 这道题主要是查询一个数是不是原有集合的一个子集的所有数的gcd. ...
随机推荐
- c# 打印 主板信息CPU信息
Win32_Processor CPU 参数说明: AddressWidth --在32位操作系统,该值是32,在64位操作系统是64.Architecture --所使用的平台的处理器架构.Asse ...
- mongo中的模糊查询
以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...
- 如何选择分布式事务形态(TCC,SAGA,2PC,补偿,基于消息最终一致性等等)
各种形态的分布式事务 分布式事务有多种主流形态,包括: 基于消息实现的分布式事务 基于补偿实现的分布式事务(gts/fescar自动补偿的形式) 基于TCC实现的分布式事务 基于SAGA实现的分布式事 ...
- immutability因React官方出镜之使用总结分享!
作者:首席填坑官∙苏南 公众号:honeyBadger8,群:912594095,本文原创,著作权归作者所有,转载请注明原链接及出处. 引言 之前项目中遇到数据拷贝.引用之间数据层级嵌套过深,拷贝的值 ...
- Javascript 小练习
--------------------------要收获别人五年才能收获的东西,你就要做好准备,遭受别人五人所遭受的坎坷” // -------------------------------*** ...
- Python_迭代器_35
迭代器 # l = [1,2,3]# 索引# 循环 for# for i in l:# i## for k in dic:# pass #可以被for循环的# list# dic# str# set# ...
- eclipse中不能保存汉字的解决方法
首先分清是打开jsp页面的问题还是java文件的问题? 对于java文件,只要在你的项目上点击右键选择“Propertise”(属性)然后点击“Info”标签将里面的Text file enco ...
- 解决ImportError: cannot import name 'webdriver' from 'selenium' (C:\Users\Mr.Su\PycharmProjects\***\venv\selenium.py)
报错信息如下图所示: 解决方案:将项目根目录下的自己创建的selenium.py文件重命名.
- How to Configure Email Notification in Jenkins
How to Configure Email Notification in Jenkins? - The Official 360logica Bloghttps://www.360logica.c ...
- 用Python删除本地目录下某一时间点之前创建的文件
参考http://www.cnblogs.com/iderek/p/8035757.html os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前 ...