bzoj3379】的更多相关文章

[BZOJ3379][Usaco2004 Open]Turning in Homework 交作业 Description     贝茜有C(1≤C≤1000)门科目的作业要上交,之后她要去坐巴士和奶牛同学回家. 每门科目的老师所在的教室排列在一条长为H(1≤H≤1000)的走廊上,他们只在课后接收作业.交作业不需要时间.贝茜现在在位置0,她会告诉你每个教室所在的位置,以及走廊出口的位置.她每走1个单位的路程,就要用1秒.她希望你计算最快多久以后她能交完作业并到达出口. Input  第1行输入…
题目描述 数轴上有\(n\)个点,你要从位置\(0\)去位置\(B\),你每秒钟可以移动\(1\)单位.还有\(m\)个限制,每个限制\((x,y)\)表示你要在第\(t\)秒之后(可以是第\(t\)秒)经过位置\(y\).问你最少需要几秒. \(n\leq 1000\). 题解 可以发现如果\(B\leq x_i\leq x_j\)且\(y_i\leq y_j\)那么第\(i\)个限制就没有效果.所以我们每次一定是选择当前还没走过的最边上两个端点之一,走过去,然后等待. 这样就可以DP了. 设…
题解: 比较容易想到二分答案+时间逆流 这样就变成了经典的路灯问题 f[a][b][0/1] 其实可以不用二分答案 根据倒着考虑我们会发现一定是先走旁边的再走中间的 计算到当前点+下课时间所需的最小时间 代码: 神奇的wa了一个点 对拍并不能拍出来 #include <bits/stdc++.h> using namespace std; #define rint int #define IL inline #define rep(i,h,t) for (rint i=h;i<=t;i+…
题目描述 数轴上有C个点,每个点有一个坐标和一个访问时间,必须在这个时间后到达这个点才算访问完成.可以在某个位置停留.每在数轴上走一个单位长度消耗一个单位的时间,问:访问所有点并最终到B花费的最小时间. 输入 第1行输入三个整数C,H,B,B是出口的位置.之后C行每行输入两个整数,分别表示一个老师所在的教室和他的下课时间. 输出 贝茜最早能够到达出口的时间. 样例输入 4 10 3 8 9 4 21 3 16 8 12 样例输出 22 题解 区间dp 考试题...考挂了... (以下内容复制自题…
区间dp 好神 看上去没有思路,因为觉得完成没有顺序,没有明显的转移顺序,转移的时候没办法记录之前已经完成哪些,那么转移就不能保证任务全部完成.但是我们发现其实没完成的任务一定是一段连续的区间,那么我们就可以进行区间dp,dp[i][j][0/1]表示当前未完成的区间是[i,j],现在正在完成i或j,0是i,1是j,花费的最小时间,最终答案就是dp[i][i][0/1]+dis(i,B),转移比较简单,0和1分别两种情况讨论 以前某道树形dp也是觉得选择的东西不一定连续,很难dp,最终证明选择的…
中文题目:提交作业 原文题目:Turning in Homework 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3379 哎,今天竟然没有想到怎么做,太菜了 这题是大区间推小区间的典型应用,与“关路灯”,“甲虫”,“奶牛吃草”类似. 以上题目来源:关路灯(CoFun1001),甲虫(CoFun1622),奶牛吃草(CoFun1167),提交作业(CoFun1027) --------------这里是华丽的分割线-----------…
区间\(dp\)提升复习 不得不说这波题真的不简单... 技巧总结: 1.有时候转移可以利用背包累和 2.如果遇到类似区间添加限制的题可以直接把限制扔在区间上,每次只考虑\([l,r]\)被\([i,j]\)完全包含的情况 [BZOJ4897] [Thu Summer Camp2016] 成绩单 典型的利用背包转移,\(dp[i][j]\)表示处理完这段\([i,j]\)区间的答案 转移时一段区间可以被先处理掉或者直接从已经处理完的\(dp[i][j]\)中取过来,这个可以用一个背包维护 con…