题目链接:https://www.luogu.org/problemnew/show/P2945 (原题 USACO) 要求钱最少,就是试着让M和B的离散程度最小(我自己脑补的,就是总体更接近,我不知道数学上这样该不该叫离散程度),那显而易见就是升序. 一开始想着可能有这种情况,有高度相同,但是对不上的,其实是没有差别的. 原高度:2 2 3 4 5 改高度:2 3 4 5 6 证明看这个:https://www.cnblogs.com/Leohh/p/7648607.html #include…
枚举 #include <iostream> using namespace std; int main() { ; cin >> k; ; i < ; i++) { ) { ) * ; ; j <; j++) { ) { ) * ; ; l < ; l++) { ) { cout << i << j << l << endl; flag = ; } } } } } } % k == ) { cout <<…
1.普通版 第一眼看到这个题,我脑海里就是,“我们是不是在哪里见过~”,去年大一刚学C语言的时候写过一个类似的题目,写了九重循环....就像这样(在洛谷题解里看到一位兄台写的....超长警告,慎重点开) #include <stdio.h> #include <cstdlib> int main() { ]; ] = ; i[] <= ; i[]++) { ] = ; i[] <= ; i[]++) { ; ] == i[]) p1 = ; ) { ] = ; i[]…
题目链接:https://www.luogu.org/problemnew/show/P1002 题目还算良心,提醒了结果可能很大,确实爆了int范围, 这是一开始写的版本,用递归做的,先给地图做标记,每到一个点,这个点可以走的话,选择向下走还是向右走,但是会超时. #include <iostream> using namespace std; ][]; int M, N; ; void move(int i, int j) { if (i == N && j == M) {…
传送门 题目大意: ai,ai+1,ai+2... 变成 bi,bi+1,bi+2.. 不计顺序,增加和减少a数组均有代价. 题解:贪心+排序 小的对应小的 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define N 25009 #define LL long long using namespace std; int n,x,y; LL an…
https://www.luogu.org/problemnew/show/P2945 好像猜一猜就觉得排序之后是最优的,懒得证明了.每个城墙向他最接近的城墙靠近,绝对是最优的.…
题目传送门 大概思路就是把这两个数组排序.在扫描一次,判断大小,累加ans. #include<bits/stdc++.h> using namespace std; int x,y,z; ],m[]; long long s; int main(){ cin>>z>>x>>y; ;i<=z;i++) cin>>n[i]>>m[i]; sort(n+,n++z); sort(m+,m++z); ;i<=z;i++){ if…
题意 题目链接 Sol 这题就是一个很显然的贪心... 首先二分一个答案,然后check是否可行.check的时候我们需要对每个位置\(i\),维护出所有左端点在\(i\)左侧,右端点在\(i\)右侧的所有区间.最优策略一定是加右端点最远的. 然后就做完了, 复杂度\(O(nlogn)\) #include<bits/stdc++.h> #define Fin(x) freopen(#x".in", "r", stdin); #define LL lon…
正解:贪心 解题报告: 传送门! 首先最小值最大显然考虑二分?然后就二分一个值mid,从左往右考虑,对于小于等于mid的点显然可以求出这个点至少要加几次,然后找到覆盖这个点的右端点max的区间区间加上它要加的数就好 然后具体的操作和短路那题差不多,,,同差分+开个数组+全局变量,over 挺显然的贪心?不解释了QAQ 那就等下直接放代码了QAQ (我怎么觉得我题解越来越简洁了鸭嘻嘻 #include<bits/stdc++.h> using namespace std; #define il…
正解: 贪心+离散化+逆序对 解题报告: 链接在这儿呢quq 这题其实主要难在想方法吧我觉得?学长提点了下说用贪心之后就大概明白了,感觉没有很难 但是离散化这里还是挺有趣的,因为并不是能很熟练地掌握离散化(昂其实理解得还不错……主要实现太少TT) 所以在这里放一下 #include<bits/stdc++.h> using namespace std; struct str { long long hei,id; }mat1[],mat2[]; ],g[],p[],ans; long long…