Codeforces 899 1-N两非空集合最小差 末尾最多9对数计算 pair/链表加优先队列最少次数清空
A
/*Huyyt*/
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define pb push_back
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll LLmaxn = 2e18;
const int N = ;
int main()
{
int one = ;
int two = ;
int n;
cin >> n;
for (int i = ; i <= n; i++)
{
int now;
cin >> now;
if (now == )
{
one++;
}
else
{
two++;
}
}
if (one < two)
{
cout << one << endl;
}
else
{
cout << two + (one - two) / << endl;
}
return ;
}
B
/*Huyyt*/
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define pb push_back
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll LLmaxn = 2e18;
const int N = ;
int month1[] = {, , , , , , , , , , , , };
int month2[];
int now[];
int m[];
int cnt = ;
bool ok(int x)
{
if (x % == )
{
return true;
}
if (x % == && x % > )
{
return true;
}
return false;
}
int main()
{
for (int i = ; i <= ; i++)
{
month2[i] = month1[i];
}
month2[] = ;
for (int i = ; i <= ; i++)
{
if (ok(i))
{
for (int j = ; j <= ; j++)
{
now[++cnt] = month2[j];
}
}
else
{
for (int j = ; j <= ; j++)
{
now[++cnt] = month1[j];
}
}
}
int n;
cin >> n;
for (int i = ; i <= n; i++)
{
cin >> m[i];
}
for (int i = ; i <= + ; i++)
{
for (int j = ; j <= n + ; j++)
{
if (j == n + )
{
cout << "Yes" << endl;
return ;
}
if (now[i + j] != m[j])
{
break;
}
}
}
cout << "No" << endl;
}
C
/* Huyyt */
#include <bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define mkp(a,b) make_pair(a,b)
#define pb push_back
using namespace std;
typedef long long ll;
const long long mod = 1e9 + ;
const int N = 1e6 + ;
vector<int> ans;
int main()
{
ll n;
cin >> n;
ll sum = (n + ) * n / ;
ll want = sum / ;
if (sum % )
{
cout << << endl;
for (int i = n; i >= ; i--)
{
if (i <= want)
{
ans.pb(i);
want -= i;
}
}
cout << ans.size() << " ";
for (int ch : ans)
{
cout << ch << " ";
}
cout << endl;
return ;
}
else
{
cout << << endl;
for (int i = n; i >= ; i--)
{
if (i <= want)
{
ans.pb(i);
want -= i;
}
}
cout << ans.size() << " ";
for (int ch : ans)
{
cout << ch << " ";
}
cout << endl;
return ;
}
}
D
/* Huyyt */
#include <bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define mkp(a,b) make_pair(a,b)
#define pb push_back
using namespace std;
typedef long long ll;
const long long mod = 1e9 + ;
const int N = 1e6 + ;
vector<int> ans;
int main()
{
ll now = ;
ll aim = ;
ll n;
cin >> n;
ll anser = ;
if (n < )
{
cout << (n - )*n / << endl;
return ;
}
while (n >= now)
{
now *= ;
aim++;
}
ll remain = ;
ll ten = ;
for (int i = ; i <= aim - ; i++)
{
remain *= ;
ten *= ;
remain += ;
}
//cout << remain << endl;
//cout << ten << endl;
ll cnt;
for (int i = ; i <= ; i++)
{
cnt = ten * i + remain;
if (n < (cnt + ) / )
{
break;
}
if (n >= cnt)
{
anser += 1LL * cnt / ;
}
else
{
anser += n + - (cnt + ) / ;
}
}
cout << anser << endl;
}
E
/* Huyyt */
#include <bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define mkp(a,b) make_pair(a,b)
#define pb push_back
using namespace std;
typedef long long ll;
const long long mod = 1e9 + ;
const int N = 2e5 + ;
int cnt = ;
int t1, t2;
int pre[N], Next[N], num[N], col[N];
priority_queue<pair<int, int> > que, del;
int main()
{
int anser = ;
int x;
int n;
cin >> n;
for (int i = ; i <= n; i++)
{
cin >> x;
if (x == col[cnt])
{
num[cnt]++;
}
else
{
col[++cnt] = x;
num[cnt] = ;
}
}
for (int i = ; i <= cnt; i++)
{
pre[i] = i - , Next[i] = i + ;
que.push(mkp(num[i], -i));
}
while (cnt)
{
while (!del.empty() && que.top() == del.top()) //如果区间已经被合并不存在
{
que.pop();
del.pop();
}
x = -que.top().second;
que.pop();
t1 = pre[x], t2 = Next[x];
Next[t1] = t2, pre[t2] = t1;
if (t1 && col[t1] == col[t2])
{
del.push(mkp(num[t2], -t2));
del.push(mkp(num[t1], -t1));
num[t1] += num[t2];
Next[t1] = Next[t2];
pre[Next[t2]] = t1;
que.push(mkp(num[t1], -t1));
cnt--;
}
cnt--;
anser++;
}
cout << anser << endl;
}
Codeforces 899 1-N两非空集合最小差 末尾最多9对数计算 pair/链表加优先队列最少次数清空的更多相关文章
- Servlet访问路径的两种方式、Servlet生命周期特点、计算服务启动后的访问次数、Get请求、Post请求
Servlet访问路径的两种方式: 1:注解 即在Servlet里写一个@WebServlet @WebServlet("/myServlet") 2:配置web.xml < ...
- 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离。显示为公里、米
/** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( ...
- Codeforces 1089I - Interval-Free Permutations(析合树计数)
Codeforces 题面传送门 & 洛谷题面传送门 首先题目中涉及排列的 interval,因此可以想到析合树.由于本蒟蒻太菜了以至于没有听过这种神仙黑科技,因此简单介绍一下这种数据结构:我 ...
- java 对图片的添加文字描述,以及两张图片合成一张
最近公司一个需要,需要把商品的优惠卷分享链接,生成一个二维码然后和商品主图合成一张,并且在新合成的主图增加商品信息的描述,好了直接看合成后图片的样式 下面我就直接贴代码,首先是Contorller层 ...
- Codeforces 982 树边两端点计数偶数连通块 鲨鱼活动最小K最大location 扩展欧几里得方块内光线反射
A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...
- codeforces 上的找两人的幸运天
Bob and Alice are often participating in various programming competitions. Like many competitive pro ...
- Codeforces 899 F. Letters Removing (二分、树状数组)
题目链接:Letters Removing 题意: 给你一个长度为n的字符串,给出m次操作.每次操作给出一个l,r和一个字符c,要求删除字符串l到r之间所有的c. 题解: 看样例可以看出,这题最大的难 ...
- mysql两列合成一列
update manage set mark = concat(mark,remark) select concat(mark,remark) as pp from manage
- Codeforces 899 C.Dividing the numbers-规律
C. Dividing the numbers time limit per test 1 second memory limit per test 256 megabytes input s ...
随机推荐
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
适应配置的方式解决我们刚才的编码操作 -dist结尾的就是spring 的开发包 解压好的 这里面是约束 libs是扎包 三个为一组,实际上只有21个 自己在使用需要导入jar包的时候,选择这种没有任 ...
- Python学习之==>面向对象编程(二)
一.类的特殊成员 我们在Python学习之==>面向对象编程(一)中已经介绍过了构造方法和析构方法,构造方法是在实例化时自动执行的方法,而析构方法是在实例被销毁的时候被执行,Python类成员中 ...
- java:(设置编码集,密码的加密,JSTL,EL表达式,权限设置)
1.设置编码集: package cn.zzsxt.lee.web.sevlet; import java.io.IOException; import javax.servlet.ServletEx ...
- Kafka集群搭建和配置
Kafka配置优化 https://www.jianshu.com/p/f62099d174d9 1.安装&配置 下载tar包 解压后即可使用 修改配置文件 将server.propertie ...
- 浅谈 MySQL的预编译
之前的一篇 Mybatis中 #{}和${}的区别 中涉及到通过 SQL预编译和 #{} 传值 的方式防止SQL注入. 由此引发了想了解预编译的想法.那么什么是预编译那? 一.三个阶段: 词法和语义解 ...
- kettle 连接 mysql8.0 报错的解决办法 org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the database Error connecting to database: (using class org.gjt.mm.mysql.
1.下载 mysql8.0 驱动放到 如下目录中 mysql8.0以上的驱动下载链接:mysql-connet-8.0.13 2.配置你连接的数据库 找到如下文件打开编辑 连接信息:下面是我本地的配置 ...
- mybatis返回List<Map>
mapperl.xml中: <select id="getAmount" parameterType="int" resultType="jav ...
- [转帖][Linux]systemd和sysV
[Linux]systemd和sysV 转自:https://www.cnblogs.com/EasonJim/p/7168216.html 在Debian8中systemd和sysVinit同时 ...
- Tomcat配置:java.lang.UnsatisfiedLinkError: D:\DevelopTool\tool20150402\tomcat\apache-tomcat-8.5.16\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
解决办法: tomcat启动时提示java.lang.UnsatisfiedLinkError: D:\soft\devTool\apache-tomcat-7.0.57\bin\tcnative-1 ...
- MyEclipse 2013 破解
本文链接:https://blog.csdn.net/Jayliue/article/details/97414181 1.运行cracker.jar 用 cd 命令找到 cracker.jar所在目 ...