A.排序,比较中间两个大小。

#include<bits/stdc++.h>
using namespace std; int n,a[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= *n;i++) cin >> a[i];
sort(a+,a++n*);
reverse(a+,a++n*);
if(a[n] > a[n+]) cout << "YES" << endl;
else cout << "NO" << endl;
return ;
}

B.优先改变价值大的位置。

#include<bits/stdc++.h>
using namespace std; int n,sub[],add[];
string s; int main()
{
ios::sync_with_stdio();
cin >> s;
int sum1 = ,sum2 = ;
for(int i = ;i < ;i++)
{
sum1 += s[i]-'';
sub[i] = s[i]-'';
add[i] = ''-s[i];
}
for(int i = ;i < ;i++)
{
sum2 += s[i]-'';
sub[i] = s[i]-'';
add[i] = ''-s[i];
}
if(sum1 > sum2)
{
int t = sum1-sum2;
int a[];
for(int i = ;i < ;i++) a[i] = sub[i];
for(int i = ;i < ;i++) a[i] = add[i];
sort(a,a+);
reverse(a,a+);
for(int i = ;i < ;i++)
{
t -= a[i];
if(t <= )
{
cout << i+ << endl;
return ;
}
}
}
else if(sum2 > sum1)
{
int t = sum2-sum1;
int a[];
for(int i = ;i < ;i++) a[i] = add[i];
for(int i = ;i < ;i++) a[i] = sub[i];
sort(a,a+);
reverse(a,a+);
for(int i = ;i < ;i++)
{
t -= a[i];
if(t <= )
{
cout << i+ << endl;
return ;
}
}
}
else cout << << endl;
return ;
}

C.按l排序,优先队列模拟,处理出最小需要的TV数量。

#include<bits/stdc++.h>
using namespace std; int n;
struct xx
{
int l,r;
friend bool operator<(xx a,xx b)
{
return a.l < b.l;
}
}a[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i].l >> a[i].r;
sort(a+,a++n);
int ans = ;
priority_queue< int,vector<int>,greater<int> > q;
for(int i = ;i <= n;i++)
{
if(q.empty() || a[i].l <= q.top())
{
ans++;
q.push(a[i].r);
}
else
{
q.pop();
q.push(a[i].r);
}
}
if(ans > ) cout << "NO" << endl;
else cout << "YES" << endl;
return ;
}

D.栈模拟。

#include<bits/stdc++.h>
using namespace std; int n; int main()
{
ios::sync_with_stdio();
cin >> n;
stack<int> s;
int ans = ,now,cntover = ;
while(n--)
{
int x,y;
cin >> x;
if(x == ) cin >> now;
else if(x == )
{
ans += cntover;
cntover = ;
}
else if(x == )
{
cin >> y;
s.push(y);
}
else if(x == ) cntover = ;
else if(x == )
{
while(!s.empty()) s.pop();
}
else cntover++;
while(!s.empty() && now > s.top())
{
ans++;
s.pop();
}
}
cout << ans << endl;
return ;
}

G.dfs,每遇到环可以存起来,最后更新答案。

#include<bits/stdc++.h>
using namespace std; int n,m,a[],vis[] = {};
struct xx
{
int to,w;
xx(int a,int b):to(a),w(b){};
};
vector<xx> v[];
vector<int> vv; void add(int x)
{
for(int i = ;i < vv.size();i++) x = min(x,x^vv[i]);
if(x) vv.push_back(x);
} void dfs(int now,int val)
{
vis[now] = ;
a[now] = val;
for(int i = ;i < v[now].size();i++)
{
int t = v[now][i].to,w = v[now][i].w;
if(vis[t]) add(val^w^a[t]);
else dfs(t,w^val);
}
}
int main()
{
ios::sync_with_stdio();
cin >> n >> m;
while(m--)
{
int x,y,z;
cin >> x >> y >> z;
v[x].push_back(xx(y,z));
v[y].push_back(xx(x,z));
}
dfs(,);
for(int i = ;i < vv.size();i++) a[n] = min(a[n],a[n]^vv[i]);
cout << a[n] << endl;
return ;
}

Codeforces_845的更多相关文章

随机推荐

  1. CentOS 安装图形化界面后重启出现许可等事项操作

    这是CentOS内核的初始设置页面,下面给出中文解释及操作方法. 1.CentOS Linux 7 初始设置(核心) 1)[!]许可证信息 (没有接受许可证) 请您选择[‘1’ 输入许可证信息 | ‘ ...

  2. Go指针,如此轻松掌握,希望有收获

    开篇语 依稀记得大学必修课,C语言中的指针,简直是噩梦,指来指去,有没有晕乎乎的感觉,我在想是不是也因为如此,所以Java语言的开发者C才比C语言的多,Java正因为解决了C的痛点,所以今天才能变成语 ...

  3. js原生深拷贝

    /*****************************************************************************************/ 原生js实现深拷 ...

  4. Ant Design 表单中getFieldDecorator、getFieldValue、setFieldValue用法

    Ant Design 表单中getFieldDecorator.getFieldValue.setFieldValue用法 一.getFieldDecorator getFieldDecorator是 ...

  5. 【GeneXus】开发移动APP时,如何使用Canvas进行布局?

    当我们开发移动端APP的时候,经常遇到一种布局方式,那就是层级的布局,比如:一张照片我想在照片的上面显示它的名称,但不影响我照片展示的布局大小,也就是这个名称是浮在照片上的,如图: 如果要实现这样的布 ...

  6. Spring Boot2 系列教程 (十三) | 整合 MyBatis (XML 版)

    前言 如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,之前介绍过了 SpringBoot 整合MyBatis 注解版的使用,上一篇介绍过 MyBatis ...

  7. 我怎么感觉 ConcurrentDictionary<,> 不是线程安全的喃?

    直接上代码 class Program { static readonly ConcurrentDictionary<string, Person> Dic = new Concurren ...

  8. dp-LCS(递归输出最短合串)

    Problem Description The company "21st Century Fruits" has specialized in creating new sort ...

  9. load文件到hive,并保存

    DataFrame usersDF = sqlContext.read().load("hdfs://spark1:9000/users.parquet"); usersDF.se ...

  10. 【聚类评价】Calinski-Harabaz(CH)

    Calinski-Harabaz(CH) CH指标通过计算类中各点与类中心的距离平方和来度量类内的紧密度,通过计算各类中心点与数据集中心点距离平方和来度量数据集的分离度,CH指标由分离度与紧密度的比值 ...