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)的更多相关文章

  1. Codeforces #640 div4 F~G (构造二连弹)

    题意:求一个只由\(01\)组成的字符串,使得它所有长度为\(2\)的子串满足:每对子串的数字和为\(0,1,2\)的个数为\(a,b,c\). 题解:我们先考虑子串数字和为\(1\)的情况,构造出一 ...

  2. [cf]Codeforces Round #784(Div 4)

    由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵. 第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场 ...

  3. 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 ...

  4. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  5. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  6. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  7. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. 脚本:Tomcat日志切割

    Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...

  2. 一篇文章看清楚 Linux 的职业发展方向

    手机.汽车.甚至宇宙飞船,在今天的科技世界中,你几乎到处都能看到 Linux 的身影.前两天 SpaceX 成功将宇航员送入太空的猎鹰9号火箭与龙飞船用的也是 Linux的操作系统.身处与 Linux ...

  3. js在运算时的类型转换

    日期类型与数字类型的运算 在加法时将日期对象与数字都当作字符串进行连接 字符串的运算方式中没有减法.乘法.除法.转化成数字类型进行运算 字符串类型字符与数字类型的运算 在加法时将二者都转换成字符串进行 ...

  4. JavaScript (四) js的基本语法 - - 函数练习、arguments、函数定义、作用域、预解析

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.函数练习 1.求最值 // - 求2个数中的最大值 function getMax(num1, nu ...

  5. (Java实现) 车厢重组

    [问题描述] 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转.一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排 ...

  6. java实现递归连续数

    递归连续数 以下程序打印出0~9的数字,请补充缺少的代码. public class MyTest { public static void f(int begin, int end) { _____ ...

  7. Java实现第八届蓝桥杯拉马车

    拉马车 题目描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的 ...

  8. Java多线程之深入解析ThreadLocal和ThreadLocalMap

    ThreadLocal概述 ThreadLocal是线程变量,ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的.ThreadLocal为变量在每个线程中都创建了一个副本,那 ...

  9. Mysql索引扫盲总结

    本文总结了一些MySQL索引的基本概念和原理,如果可以快速清晰回答这些问题可以出门左转提提宝贵建议. 什么是索引?索引为什么查询快,索引的数据结构是什么? 聚簇索引/非聚簇索引区别? 什么是覆盖索引? ...

  10. 开发者大赛 | aelf轻型DApp开发训练大赛结果公布!

    6月9日,由aelf基金会发起的轻型DApp开发训练大赛圆满收官.本次训练赛基于aelf公开测试网展开,主要针对轻型DApp,旨在激励更多的开发者参与到aelf生态中来. 活动于4月21日上线后,ae ...