代码 #include<bits/stdc++.h>usingnamespacestd;//#define int long longstructnode{intx,y;};vector<node>v1;vector<node>v2;vector<node>v3;vector<node>v4;vector<node>v5;boolcmp(nodei,nodej){if(i.x==j.x){returni.y<j.y;}else{returni.x<j.x;}}boolcheck(vector<node>vv1,vector<nod...
A(输出)Repression 输出三个数中较大两个数 inline void solve() { vector<int> a(3); for (int &x : a) cin…阅读全文 赞同4 添加评论 分享收藏 AtCoder Beginner Contest 226 A(取整)Round decimals 输出给定实数最近的整数 inline void solve() { double x; cin >> x; ...
vector<string> vec; intmain(){ string s, t; cin >> s >> t; intn = s.size(); string tmp, tt; while(s != t) { tmp =""; for(inti =0; i < n; i++) { tmp +='z'; } for(inti =0; i < n; i++) { if(s[i] != t[i]) { ...
int deg[maxn]; vector<int> g[maxn]; bool used[maxn]; void dfs(int v){ used[v]=true; for(int x:g[v]){ if(!used[x]){ dfs(x); } } } int main(){ cin>>n>>m; if(n!=m){ cout<<"No\n"; return 0; } for(int...
vector<Node> p; int main { cin >> n; p.emplace_back((Node){0, 0}); int64 ma = 1, mb = 0; //max (b / a) for (int i = 0, a, b; i < n; i += 1) { cin >> a >> b; if (a * mb < b * ma) { // b / a > mb / mb ...
intn;LL T;chars[MAXN];LL x[MAXN];std::vector<LL> goleft, goright; intmain{scanf("%d%lld",&n,&T);scanf("%s",s+1);FOR(i,1,n)scanf("%lld",x+i); // x[i] sorted,// x[i] < x[j]: require s[i]=1,s[j]=0 and x[j]-x[i] <= 2T// two pointers.FOR(i,1,...
h> using namespace std; const int max_n = 2e5 + 5; bool vis[max_n]; vector<int> g[max_n]; int ans = 0; int w[max_n]; int b[max_n]; void dfs(int u, int fa) { b[u] = max(b[fa] + (w[u] != w[fa]), b[u]); vis[u] = true; for (auto i : g[u])...
g,区间DP。定义f[l, r, k, c]为,第 l 个到第 r 个字符串的从左到右的第k位大于等于c的方案数,最终答案为,f[0, n-1, 0, 0]。状态设计的来源为字典序大小的比较的递归定义,s1 < s2,要么当前位的大小关系,相等就是去掉当前位的大小关系。可以得到转移方程同时,有几个边界条件: ...
下面是一道典型的C题: 问题描述:给定一个长度为N的整数数组A,找出其中的一个子数组,使得该子数组的和最大。 解答:这是一个经典的动态规划问题,需要用到动态规划的思想和算法。具体的代码如下: ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int m本人n() { ...
#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<vector> using namespace std; typedef long long ll; typedef double db; inline int read() { int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); } ...