题目传送 思路是始终维护西瓜数量的区间,即L代表目前可以达到的最少的,R是最多的,然后判断一下. #include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 5; int T, n, m, a[maxn]; int main() { for (scanf("%d", &T); T; T--) { int maxx = 0, lila = 0; scanf("%d %d"…
题目传送 dp是常规的:\(m^2\)的预处理:把位置存进vector然后\(O(1)\)算出想要的:WA点:要注意特意设置一下val[i][v.size()]=0,即全天都放鸽子则花费时间为0. #include <bits/stdc++.h> using namespace std; int T, n, m, d, ans; int val[205][205], dp[205][205]; char s[205]; int main() { for (scanf("%d"…
一丢丢思维就ok 题目大意: 魔法师要煮药,有n个等级的药,所需要的药物为a1,a2...an,意为第n级需要多少药物,下一行为库存的不同等级药物,药物可降级使用不可升级. 思路:从高级药物开始解,把没用完的药物存起来放到下一及使用. 代码如下: #include <iostream> #include <string.h> using namespace std; ],b[],all,flag(); long long sum; int main(){ cin>>t;…