比赛链接 期望得分:100+20+20 实际得分:40+20+30 awa cccc T1 :基于贪心的思路,然后开始爆搜(雾 那必然是会死的,好吧他就是死了 #include<iostream> #include<cstdio> #include<algorithm> #define int long long using namespace std; int n,q,m; ; ]; int x,y; inline int read(); int cha() { ;…
货物收集 二分答案.复杂度\(O(n\log n)\). 货物分组 用费用提前计算的思想,考虑用一个新的箱子来装货物会发生什么. 显然费用会加上后面的所有货物的总重. \(60\)分的\(O(n^2)\)DP代码: #include<bits/stdc++.h> #define LL long long const int SIZE=100005,INF=0x3F3F3F3F; int n; LL W,A[SIZE],sum[SIZE]; LL DP[SIZE]; using std::max…
前一个小时看这几道题感觉要爆零 A. 仓鼠的石子游戏 分析一下发现a[i]>1a[i]>1a[i]>1时后先手必输,a[i]=1a[i]=1a[i]=1时先手必赢 然后直接看1的个数奇偶性就行了 CODE #include <bits/stdc++.h> using namespace std; int main () { int T, n, a; scanf("%d", &T); while(T--) { scanf("%d"…
复读数组 分成 3 种区间算答案: 一个块内的区间 两个块交界处,长度小于块长的区间 长度不小于块长的区间 对于第三种区间,容易发现每个区间的权值一样,只需要算出个数即可. 对于前两种空间,我的思路是:对于一个重复出现的元素,记第一次出现的这个元素贡献权值,然后讨论每一个数会给哪些区间贡献权值即可. 3年OI一场空 不开long long见祖宗 代码: #include<bits/stdc++.h> #define LL long long #define int long long cons…