首页 > TAG信息列表 > tot1

CSP202203 全部题解

都是些简单题,但我看网上好像没有全题解,写一篇造福大学生。 未初始化警告 签到 #include <iostream> #include <cstdio> using namespace std; #define N 100005 int n, k, ans = 0; bool vis[N]; int main() { ios::sync_with_stdio(false); cin >> n >> k; vis[0] = true; fo

【YBTOJ】他的世界

思路: 直接暴力都可以过 c o d e code code #include<iostream> #include<cstdio> using namespace std;

2021“MINIEYE杯”中国大学生算法设计超级联赛(5)题解

1003 手玩一下发现如果是一维的只能有两个,二维的只能有三个。 所以得出结论,一维能分开一个。 code: int T;ll n,k; int main(){ scanf("%d",&T);while(T--) scanf("%lld%lld",&n,&k),puts(n<=k+1?"Yes":"No"); } 1004 考虑枚举两个串的开头位置,那么可以通过尺取\(O(n^2)\)得到

Codeforces Round #685 Div. 2 C 题解

从第一步操作可以得到程序的结果与字母的顺序无关, 所以不妨转化为数组z[26][2]来储存a,b字符串字母的数量。 而第二步操作中 如果直接按照题设的步骤来做, 即对a字符串进行“k个相同字母+1” 那么写出的代码会十分繁琐,且不容易打出正确的代码。 所以我们不妨逆向操作 对b

CF1420E Battle Lemmings

CF1420E Battle Lemmings 大菜鸡参考了两位哥哥的博客才写出来的 zqy1018 夕林山寸 //Proudly using c++11 by gwt #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair<int,int> pii; #

贪心——cf708b

先求0,1的个数,然后贪心输出01即可 #include<bits/stdc++.h>using namespace std;#define ll long long ll a,b,c,d,tot1,tot0;int main(){ cin>>a>>b>>c>>d; //a=0,b=0的情况优先考虑 if(!a && !b && !c && !d){ puts(&q

Codeforces 1204D2 Kirk and a Binary String (hard version)

D1. Kirk and a Binary String (easy version) time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output The only difference between easy and hard versions is the length of the string. You can hack this pr

括号序列的dp问题模型

括号序列的dp问题模型 Codeforces314E ◦给定一个长度为n的仅包含左括号和问号的字符串,将问号变成左括号或 右括号使得该括号序列合法,求方案总数。 ◦例如(())与()()都是合法的括号序列。 ◦ n<=3000。 在括号序列问题中,总是把左括号看作+1,右括号看作-1,要使括号序列合法,只需满足

2019年牛客多校第二场 F题Partition problem 爆搜

题目链接 传送门 题意 总共有\(2n\)个人,任意两个人之间会有一个竞争值\(w_{ij}\),现在要你将其平分成两堆,使得\(\sum\limits_{i=1,i\in\mathbb{A}}^{n}\sum\limits_{j=1,j\in\mathbb{B}}^{n}w_{ij}\)最大。 思路 看到这一题第一想法是状态压缩然后枚举状态,然后人就没了。 其实这题就

CCPC2018 桂林 A: Array Merge(贪心、带权并查集合并)

时间限制: 1 Sec  内存限制: 128 MB提交: 37  解决: 3[提交] [状态] [命题人:admin] 题目描述 Given two arrays A, B of length n and m separately, you have to merge them into only one array C (of length n + m) obeying the rule that the relative order of numbe

[题解] P1342 请柬

洛谷 P1342 思路 分别建一张原图,一张与原图中所有边方向相反的反图。在两张图上分别跑一遍SPFA,再计算出两次dis数组的和即可。 Code #include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>typedef long long LL;#define maxn 1000005using names

Gym - 101806R :Recipe(分治+斜率优化)

  #include<bits/stdc++.h>#define pii pair<ll,int>#define mp make_pair#define ll long long#define rep(i,a,b) for(int i=a;i<=b;i++)using namespace std;const int maxn=300010;const int inf=1e9;ll dp[maxn],F[maxn],C[maxn],L[maxn];pii a[maxn],b[

整体二分

整体二分,就是对答案(权值)做CDQ分治。 有些问题会给出一些修改和一些询问,当可以通过二分后线性判定回答询问时,我们就可以将所有修改和询问放在一起二分,复杂度一般会将一个O(n)级别优化掉,这就是整体二分。 一般配合树状数组、线段树等数据结构,来替代树套树、KD-Tree等代码量和常数都较