补题链接:Here 算法涉及:DP + 离散化 \(l\) 的范围太大,无法作为数组下标,所以先离散化,再DP。两点间的距离d大于t时,一定可以由 \(d\ \%\ t\) 跳过来,所以最多只需要t+d%t种距离的状态就可以表示这两个石子之间的任意距离关系。这样就把题目中的 \(10^9\) 压缩成 ...
分类:
其他好文 时间:
2021-05-24 12:38:52
阅读次数:
0
思路: 图论。参考了https://codeforces.com/blog/entry/71080。 实现: 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const ll INF = 0x3f3 ...
分类:
其他好文 时间:
2021-05-24 08:39:17
阅读次数:
0
还是模拟退火乱搞。 不过考虑记录一下在整个退火过程中的最优答案。 而不是只看最后剩下的解。 退火是一个随机算法,他有很大的几率能跳到最优解,但也很有可能从最优解跳出去。 所以要记录答案。 Haywire #include<iostream> #include<cstdio> #include<cst ...
分类:
其他好文 时间:
2021-05-24 07:45:06
阅读次数:
0
AtCoder Regular Contest 118 A - Tax Included Price int main() { IOS; ll k, c; cin >> n >> k; c = (100 * k - 1) / n + 1; cout << (n + 100) * c / 100 - ...
分类:
其他好文 时间:
2021-05-24 04:22:14
阅读次数:
0
class Solution { public: int reverse(int x) { // cout << 1111 << endl; long long ret = 0; long long y = x; int f = 0; if(y < 0) f = 1, y = -y; // cout ...
分类:
其他好文 时间:
2021-05-23 23:04:46
阅读次数:
0
题目链接 维护一个区间最小值同时维护一个区间最小值的减法 #include <bits/stdc++.h> using namespace std; const int N = 100010; int a[N]; int n,k; struct node{ int l,r; int v,add; } ...
分类:
其他好文 时间:
2021-05-04 16:06:56
阅读次数:
0
Line drawing algorithm 罗列了几种在屏幕像素上画直线的算法。 不过如果让我自己想的话,思维过程应该是这样: 算法的输入?两个实数点。 算法的输出?若干个自然数点。 怎么展示算法结果?屏幕上的像素可以抽象成一个二维数组,点作为坐标索引来定位,给二维数组赋值相当于给像素上色。 过程 ...
分类:
编程语言 时间:
2021-05-04 16:06:08
阅读次数:
0
题目 显然,彼佳所做的 \(a\) 件家务中最简单的家务的复杂度,和瓦西亚所做的 \(b\) 件家务中最难的家务的复杂度之差,就是 \(x\) 。 C++ #include<bits/stdc++.h> using namespace std; int n; int f[2005]; int a,b ...
分类:
其他好文 时间:
2021-05-03 12:54:09
阅读次数:
0
题目 思路 用 map 存下数字第一次出现的位置,再用结构体存下数字的值与出现次数。 排序,输出。 这里简单介绍一下 map 。 map 本质上就像一个数组, 只不过你可以自己定义键和值 (其实就是下标与它所对应的元素) 类型。 map<string,int> mp; 这样你就有了一个可以用 str ...
分类:
其他好文 时间:
2021-05-03 12:53:50
阅读次数:
0
E. Skyline Photo 题意: $n$个元素,每个元素有两个属性$h$和$b$,要求把这些元素划分为若干个子区间,每个子区间的价值为该区间内$h$最小的元素的$b$的值,求最优划分使得所有子区间价值之和最大 思路: 考虑一个$O(n^2)$的$dp$,$dp[i]$表示前$i$个元素的答案 ...
分类:
其他好文 时间:
2021-04-30 12:23:11
阅读次数:
0