CF #640 (div4)
CF640 div4
草 迟到半个月的补题
真正的懒狗
再懒就无了
D. Alice, Bob and Candies
题意:n个数字,奇数时间从左侧删数字,偶数时间从右侧删数字,每次删的数字之和必须大于上次的。问最多删多少次和左边删除数字和与右边删除数字和。
题解:很简单的模拟题,初始情况特判即可,不知道当时为什么没做出来
#include<iostream>
using namespace std;
int can[1005];
int main() {
int t;
cin >> t;
while (t--) {
int n;
int a=0, b=0;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> can[i];
}
int moves = 0;
int l = 1, r = n,sum=0;
while (l<=r) {
++moves;
if (moves % 2 == 1) {
if (moves == 1) {
sum = can[l++];
a+=sum;
}
else {
int tmp = 0;
while (tmp < sum + 1&&l<=r) {
tmp += can[l++];
}
sum = tmp;
a += sum;
if (l > r) {
break;
}
}
}
else {
int tmp = 0;
while (tmp < sum + 1 && l <= r) {
tmp += can[r--];
}
sum = tmp;
b += sum;
if (l > r) {
break;
}
}
}
cout << moves << " " << a << " " << b << endl;
}
}
E.Special Elements
题意:问一组数中有多少个数可以表示成数组的区间和。
题解:前缀和
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int a[8010], sum[8010], num[8010];
int main() {
int t;
cin >> t;
while (t--) {
int cnt = 0;
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
num[a[i]]++;
sum[i] = sum[i - 1] + a[i];
}
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
int tmp = sum[j] - sum[i-1];
if (tmp <= n && num[tmp] > 0) {
cnt += num[tmp];
num[tmp] = 0;
}
}
}
memset(num, 0, sizeof(num));
cout << cnt << endl;
}
}
F. Binary String Reconstruction
题意:01串 \(n_0\)代表00个数,\(n_1\)代表\(10或01\)个数,\(n_2\)代表\(11\)个数。t次询问求合法串。
题解:又是模拟
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int a, b, c;
string s1, s2, s3;
cin >> a >> b >> c;
if(a > 0) {
int tmp = a + 1;
while (tmp--) {
s1 += "0";
}
}
if (a == 0&&b>0) {
s2 += "0";
}
if (c > 0) {
b--;
}
if (b > 0) {
s2 += "1";
b--;
int cnt = 0;
while (b--) {
if (cnt % 2 == 0)
s2 += "0";
else
s2 += "1";
cnt++;
}
}
if (c > 0) {
int tmp = c + 1;
while (tmp--) {
s3 += "1";
}
}
string res = s3 + s1 + s2;
cout << res << endl;
}
}
- G. Special Permutation
题意题解懒得写了,深搜
#include<iostream>
#include<stack>
#include<cstring>
using namespace std;
int ac[6] = { -4,-3,-2,2,3,4 };
int flag = 0;
int vis[1005];
stack<int> s;
int n;
void dfs(int x) {
if (flag == 1) return;
if (s.size() == n) {
while (!s.empty()) {
cout << s.top() << " ";
s.pop();
}
cout << endl;
flag = 1;
return;
}
for (int i = 0; i <= 5; ++i) {
int tmp = x + ac[i];
if (tmp <= 0 || tmp > n||vis[tmp]) {
continue;
}
vis[tmp] = 1;
s.push(tmp);
dfs(tmp);
if (flag == 1) return;
vis[tmp] = 0;
s.pop();
}
}
int main() {
int t;
cin >> t;
while(t--) {
cin >> n;
for (int i = n; i >0; --i) {
vis[i] = 1;
s.push(i);
dfs(i);
if (flag) {
break;
}
vis[i] = 0;
s.pop();
}
if (flag == 0) {
cout << -1 << endl;
}
flag = 0;
while (!s.empty()) {
s.pop();
}
memset(vis, 0, sizeof(vis));
}
}
现在回头一看都是rz题,为啥当时不敢写呢
CF #640 (div4)的更多相关文章
- Codeforces #640 div4 F~G (构造二连弹)
题意:求一个只由\(01\)组成的字符串,使得它所有长度为\(2\)的子串满足:每对子串的数字和为\(0,1,2\)的个数为\(a,b,c\). 题解:我们先考虑子串数字和为\(1\)的情况,构造出一 ...
- [cf]Codeforces Round #784(Div 4)
由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵. 第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场 ...
- ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- CF memsql Start[c]UP 2.0 A
CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...
- CF memsql Start[c]UP 2.0 B
CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...
随机推荐
- Sping源码+Redis+Nginx+MySQL等七篇实战技术文档,阿里大佬推荐
JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 引入 ...
- [Axure教程]0005.系统函数与变量介绍
1.变量的种类: [1].全局变量:可以在整个原型的任意位置调用和修改. [2].局部变量:仅作用于某一事件的某一动作内. [3].自定义变量:自行新建的全局变量. 2.Axure函数: [1].特殊 ...
- (九)显示交易记录 &解决相对路径问题
UserServlet.java package com.aff.bookstore.servlet; import java.io.IOException; import javax.servlet ...
- 【HBase】HBase架构图
- Java实现 LeetCode 788 旋转数字(暴力)
788. 旋转数字 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还 ...
- Java实现 蓝桥杯VIP 算法提高 传染病控制
算法提高 传染病控制 时间限制:1.0s 内存限制:512.0MB 问题描述 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的 ...
- java实现第六届蓝桥杯无穷分数
无穷分数 无穷分数 无穷的分数,有时会趋向于固定的数字. 请计算[图1.jpg]所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0. 请填写该浮点数,不能填写任何多余的内容. 结果:0 ...
- java实现第七届蓝桥杯寒假作业
题目6.寒假作业 寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见[图1. ...
- java代码(7) ---guava之Bimap
guava之Bimap bimap的作用很清晰:它是一个——映射,可以通过key得到value,也可以通过value得到key 一.概述 1.bimap和普通HashMap区别 (1)在java集合类 ...
- git提交拉取远程仓库
https://gitee.com/ ---- 国内服务器 https:/github.com/ ---- 国外服务器 git init ---- 初始化(创建主分支)仓库 git clone 拉取 ...