随笔分类 -  洛谷·

摘要:题意概括 线性资源分配的问题,因为空闲的时间大小看后面的时间(反正感觉这个就是个套路)所以从后往前DP。 转移方程 如果当前时刻没有工作 f[i]=f[i+1]+1 如果当前时刻有工作 f[i]=max(f[i],f[i+时间段]) 完整代码 include using namespace std; 阅读全文
posted @ 2018-11-26 21:35 baccano! 阅读(181) 评论(0) 推荐(0)
摘要:感慨 周五比赛的测试题,结果到比赛结束也没有读懂题意。。。给的样例太少了,我一直以为我是不是spfa敲错了。。。没想到中间还有卡的地方 分析 题目中的一句耐人寻味的话“路径上的所有点的出边所指向的点都直接或间接与终点连通。”就是这句话直接忽略掉了spfa才导致的WA。这句话的意思实际上是说如果这条路 阅读全文
posted @ 2018-11-18 19:40 baccano! 阅读(221) 评论(0) 推荐(0)
摘要:图的dfs,第一次dfs图,特此记录 代码 include using namespace std; int G[100][100],bk[100],ans,fans; int n,m; void dfs(int cur,int dis) { ans=max(ans,dis);//求最大路径 for 阅读全文
posted @ 2018-11-08 21:30 baccano! 阅读(118) 评论(0) 推荐(0)
摘要:DFS的例题,难点在于所选的yizhong必须是一行的不能拐弯,我第一次写的时候直接在DFS里的判断条件里加了if(当前位置的字符==yizhong相应位置的字符)这样的语句,当然这样不对,因为没有保证拐弯的问题。怎样去保证不拐弯呢,只需要定义一个八向的二维数组,然后寻找到y的时候再去找i找到i就把 阅读全文
posted @ 2018-10-22 18:26 baccano! 阅读(151) 评论(0) 推荐(0)
摘要:dfs的题,这个题不好想的就是这个重复单词的选取过程,我索性看了题解。发现可以直接用两个for得出,i确定第一个串的左边的位数j确定右移多少位。注意i从1开始因为str[i][str[i].size()]没有值!!! int bj(string a,string b) { for(int i=1;i 阅读全文
posted @ 2018-10-19 12:41 baccano! 阅读(155) 评论(0) 推荐(0)
摘要:递推计算即可 f[1]=1 f[2]=2=f[1]+1 f[3]=2=f[1]+1 f[4]=4=f[1]+f[2]+1 f[5]=4=f[1]+f[2]+1 我的代码(算法借鉴洛谷题解) include using namespace std; int num[1010]; main() { fo 阅读全文
posted @ 2018-10-15 19:43 baccano! 阅读(115) 评论(0) 推荐(0)
摘要:模拟题。。。我自己一直被光标下去上不去怎么模拟困扰,实际上可以直接从高到低,从左到右模拟 我的代码(算法借鉴题解) include using namespace std; int bk[200]; main() { string a; for(int i=0;i0;i ) { for(int j= 阅读全文
posted @ 2018-10-14 21:33 baccano! 阅读(229) 评论(0) 推荐(0)