摘要: 给定数组A[i],以及两个数a和b,其中a<=b,每次可以任选一对下标(i,j),让A[i]增加a,同时A[j]减少b,操作次数不限。求能得到的min(A[i])的最大值。 由于每次加得少、减得多,总和必收敛,因此解一定存在,可以二分答案,条件是增加的次数不超过减少的次数。 #include <bi 阅读全文
posted @ 2024-03-11 21:52 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 抛n次硬币,对于第i次结果,如果正面朝上,得分为X[i],否则不得分。另外,还设置了m种连正奖励,即如果出现连续C[i]次正面朝上,可额外获得Y[i]得分。求可以获取的最大总得分。 1<=n,m<=5000; 1<=X[i],Y[i]<=1E9; 1<=C[i]<=n 记dp[i][j]表示前i次抛 阅读全文
posted @ 2024-03-11 21:47 chenfy27 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 有个大小为n*m的二维图,.为空地,#为障碍,最外层一圈固定为障碍,起点(2,2)固定为空地,每次可以沿上下左右其中一个方向走,直到碰见障碍才能转向。问最多可以走过多少个空地?初始时方向任意,可以走多次。 bfs模拟,由于中途不能转向,把当前方向也塞到节点里。除1234分别对应上下左右外,新增一种状 阅读全文
posted @ 2024-03-11 21:32 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 有n本书,编号分别为1~n。在读第i本书之前需要先读c[i]本书,编号分别为p[i][1],p[i][2],...p[i][c[i]]。现想读1号书,需要提前读至少多少本书,输出任意一组方案。 2<=n<=2E5; 0<=c[i]<n,保证有解。 类似求拓扑序,由于要输出方案,用dfs更方便。另外题 阅读全文
posted @ 2024-03-11 21:22 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑