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/链表加优先队列最少次数清空的更多相关文章

  1. Servlet访问路径的两种方式、Servlet生命周期特点、计算服务启动后的访问次数、Get请求、Post请求

    Servlet访问路径的两种方式: 1:注解 即在Servlet里写一个@WebServlet @WebServlet("/myServlet") 2:配置web.xml < ...

  2. 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离。显示为公里、米

    /** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( ...

  3. Codeforces 1089I - Interval-Free Permutations(析合树计数)

    Codeforces 题面传送门 & 洛谷题面传送门 首先题目中涉及排列的 interval,因此可以想到析合树.由于本蒟蒻太菜了以至于没有听过这种神仙黑科技,因此简单介绍一下这种数据结构:我 ...

  4. java 对图片的添加文字描述,以及两张图片合成一张

    最近公司一个需要,需要把商品的优惠卷分享链接,生成一个二维码然后和商品主图合成一张,并且在新合成的主图增加商品信息的描述,好了直接看合成后图片的样式 下面我就直接贴代码,首先是Contorller层 ...

  5. Codeforces 982 树边两端点计数偶数连通块 鲨鱼活动最小K最大location 扩展欧几里得方块内光线反射

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...

  6. codeforces 上的找两人的幸运天

    Bob and Alice are often participating in various programming competitions. Like many competitive pro ...

  7. Codeforces 899 F. Letters Removing (二分、树状数组)

    题目链接:Letters Removing 题意: 给你一个长度为n的字符串,给出m次操作.每次操作给出一个l,r和一个字符c,要求删除字符串l到r之间所有的c. 题解: 看样例可以看出,这题最大的难 ...

  8. mysql两列合成一列

    update manage set mark = concat(mark,remark) select concat(mark,remark) as pp from manage

  9. Codeforces 899 C.Dividing the numbers-规律

      C. Dividing the numbers   time limit per test 1 second memory limit per test 256 megabytes input s ...

随机推荐

  1. String 类源码分析

    String 源码分析 String 类代表字符序列,Java 中所有的字符串字面量都作为此类的实例. String 对象是不可变的,它们的值在创建之后就不能改变,因此 String 是线程安全的. ...

  2. VirtualBox上Centos7磁盘扩容

    VirtualBox上Centos7磁盘扩容 非常实用 点击直达

  3. Prometheus在Kubernetes下的服务发现机制

    Prometheus作为容器监控领域的事实标准,随着以Kubernetes为核心的云原生热潮的兴起,已经得到了广泛的应用部署.灵活的服务发现机制是Prometheus和Kubernetes两者得以连接 ...

  4. Web测试方法_01

    一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使 ...

  5. Nginx的用途

    Nginx应该是现在最火的web和反向代理服务器,没有之一.她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现. 那除了负载均衡,她还有什么其他的用途呢,下面 ...

  6. USACO3.3 A Game【区间dp】

    这道题也是一道非常有意思的区间$dp$,和在纪中的这道题有点像:取数游戏 (除了取数规则其它好像都一样诶) 当时在纪中的时候就觉得这个$dp$非常不好想,状态定义都不是很容易想到. 但是做过一道这种题 ...

  7. ElasticSearch Kibana 创建索引,删除索引,查看索引配置

    1.输入命令,点击绿色的三角形箭头. PUT chuyuan  //创建索引 GET chuyuan/_settings  //查看chuyuan索引下的配置 GET _all/_settings   ...

  8. PTA(Basic Level)1008.数组元素循环右移问题

    一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最 ...

  9. Spark架构角色及基本运行流程

    1. 集群角色 Application:基于spark的用户程序,包含了一个Driver program 和集群中多个Executor Driver Program:运行application的mai ...

  10. Spring(三)--Spring bean的生命周期

    Spring bean的生命周期 ApplicationContext Bean生命周期流程 1.需要的实体类 ackage com.xdf.bean; import org.springframew ...