摘要:
题单 小G有一个大树 #include <bits/stdc++.h> using namespace std; #define int long long int32_t main() { ios::sync_with_stdio(0), cin.tie(0); int n; while (cin 阅读全文
摘要:
A. Alternative Architecture 当倾斜放置时,一定可以构成直角三角形。枚举高用勾股定理算出底,然后在利用相似三角形即可算出另一条构成的直角三角形的边长,此时判断边是否都是整数即可。 原图实际上点在格子上,一个常见的套路是边减一就可以转换成点在定点上。 #include <bi 阅读全文
摘要:
1430D. String Deletion 因为要最大话操作次数,所以我们每次删除的时候删除没有被删除最左侧连续相同长度大于等于 2 的部分。 想清楚贪心策略后,用快慢指针就可以\(O(N)\)实现本体。 #include <bits/stdc++.h> using namespace std; 阅读全文
摘要:
A. Two Vessels #include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7; using i64 = long long; void solve() { int 阅读全文
摘要:
# A. Live Love 最大值就是把所有的$P$放在一起,最小值是尽可能的均分. ```cpp #include using namespace std; #define int long long void solve() { int n , m , d ; cin >> n >> m , 阅读全文
摘要:
# C. Set or Decrease 可以得到两个规律 - 修改操作一定是把较大的数变成最小的数更优 - 减一对谁操作都不影响结果 根据以上两个规律有可以总结出最优操作策略 - 对最小值先做若干次减法 - 把最大的若干个数变成最小值 已知策略后,我们发现因为值域很大,所以不能枚举最小值减的次数, 阅读全文
摘要:
# B. Triangles on a Rectangle 因为保证了每一个边上都有点,所以相当于三角形的高已经确定了。最大化底即可。 ```cpp #include using namespace std; #define int long long const int inf = 1e15; u 阅读全文
摘要:
# A. Doors and Keys ```cpp #include using namespace std; #define int long long void solve() { string s; cin >> s; map pos; for( int i = 0 ; i > t; whi 阅读全文
摘要:
# A - Potions ```cpp #include using namespace std; #define int long long int power(int x, int y, int p) { x %= p; int ans = 1; while (y) { if (y & 1) 阅读全文
摘要:
# A - 3.14 ```cpp #include using namespace std; #define int long long int32_t main() { ios::sync_with_stdio(0), cin.tie(0); string s = "14159265358979 阅读全文