AcWing周赛43

题源:https://www.acwing.com/activity/content/1233/

4314. 三元组

直接暴力做就是了,我一开始还在找规律。。悲

我滴代码

#include <iostream>
#include <algorithm> using namespace std;
int n, cnt; int main (){
cin >> n;
for (int i = 1; i <= n; i ++)
for (int j = i; j <= n; j ++){
int k = i^j;
if (k >= j && k <= n && i + j > k && i + k > j)
cnt ++;
} cout << cnt << endl;
}

4315. 两个数列

就是两个不等式联立,我还傻傻的找规律,笨死了qaq

思路

  1. 题目直接给的 :\(1 \leqslant b_i \leqslant a_i\)

  2. 通过 sum 表示 : $ s_b - s_a + a_i \leqslant b_i \leqslant s_b - n + 1$

    核心过程:

    (\(s_i 表示 除b_i外的其他b之和,s_a表示所有a之和,s_表示所有b之和\))

    \[由定义得,b_i = s_b - s_i,即 s_i = s_b + b_i\\
    \because n - 1 \leqslant s_i \leqslant s_a - a_i\\
    \therefore s_b - s_a + a_i \leqslant b_i \leqslant s_b - n + 1
    \]

    更详细的推导:

    (字丑请见谅orz毕竟是在电脑上写字)

然后 b_i 的范围就是1. 2. 不等式取交集

我滴代码

#include <iostream>
#include <algorithm> using namespace std;
typedef long long ll;
const int N = 2e5 + 5;
ll n, sb, sa;
ll a[N]; int main (){
cin >> n >> sb;
for (int i = 1; i <= n; i ++)
cin >> a[i], sa += a[i]; if (n == 1)
cout << a[1] - 1 << endl;
else{
for (int i = 1; i <= n; i ++){
ll l = max (1ll, sb - sa + a[i]), r = min (a[i], sb - n + 1);
//cout << l << ' ' << r << endl;
cout << a[i] - (r - l + 1) << ' ';
}
}
}

4316. 合适数对

思路

考的时候想到用线段树来做,但是我不会QAQ

y总:离散化 + 树状数组 + 二分

鉴于我想不出来,就参考着自己写一遍

代码

#include <iostream>
#include <algorithm> using namespace std;
typedef long long ll;
const int N = 4e5 + 5;//记得开两倍
ll n, m, s[N], xs[N],tr[N], cnt; int get (ll x){
ll l = 1, r = cnt;
while (l < r){
ll mid = l + r >> 1;
if (xs[mid] >= x)
r = mid;
else
l = mid + 1;
}
return r;
}//离散化之后就可二分 void add (int x, int y){
for (int i = x; i < N; i += i & (-i))
tr[i] += y;
} int query (int x){
ll ans = 0;
for (int i = x; i ; i -= i & (-i))
ans += tr[i];
return ans;
}
//均为树状数组板子 int main (){
cin >> n >> m;
xs[++ cnt] = 0, xs[++ cnt] = -m;
for (int i = 1; i <= n; i ++){
int x; cin >> x;
s[i] = s[i - 1] + x;
xs[++ cnt] = s[i], xs[++ cnt] = s[i] - m;
} sort (xs + 1, xs + cnt + 1);
cnt = unique (xs + 1, xs + cnt + 1) - xs - 1;
//离散化处理 ll ans = 0;
add (get(0), 1);//j - 1会取到 0 的状况
for (int i = 1; i <= n; i ++){
ans += i - query (get (s[i] - m));
add (get(s[i]), 1);
} cout << ans << endl; }

AcWing周赛43的更多相关文章

  1. AcWing周赛44

    周赛44 4317. 不同正整数的个数 link:https://www.acwing.com/problem/content/4320/ 我直接set #include <iostream&g ...

  2. 【AcWing】周赛

    A.糖果 题目链接 链接 题目描述 给定三个正整数 a,b,c. 请计算 ⌊a+b+c2⌋,即 a,b,c 相加的和除以 2 再下取整的结果. 输入格式 第一行包含整数 T,表示共有 T 组测试数据. ...

  3. 【AcWing】第 62 场周赛 【2022.07.30】

    AcWing 4500. 三个元素 题目描述 给定一个长度为 \(n\) 的数组 \(r\_1,r\_2,-,r\_n\). 请你找到其中的三个元素 \(r\_a,r\_b,r\_c\),使得 \(r ...

  4. AcWing 第11场周赛题解

    计算abc 首先 \(0<=a<=b<=c\) 会随机给出 \(a+b,a+c,b+c,a+b+c\)的值 因为\(a,b,c\)都为正整数,所以\(a+b+c\)一定为最大值 然后 ...

  5. AcWing 45. 之字形打印二叉树

    地址 https://www.acwing.com/problem/content/description/43/ 题目描述请实现一个函数按照之字形顺序从上向下打印二叉树. 即第一行按照从左到右的顺序 ...

  6. Java多线程系列目录(共43篇)

    最近,在研究Java多线程的内容目录,将其内容逐步整理并发布. (一) 基础篇 01. Java多线程系列--“基础篇”01之 基本概念 02. Java多线程系列--“基础篇”02之 常用的实现多线 ...

  7. L440 无线网卡:由于该设备有问题,Windows 已将其停止(代码 43)

    最近重装了系统,本来用的好好的,结果重启之后突然无线网卡不能用了,设备管理器老是黄色叹号!无线网卡设备状态:由于该设备有问题,Windows 已将其停止. (代码 43).      无线网卡型号:2 ...

  8. AC日记——质因数分解 1.5 43

    43:质因数分解 总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数. 输入 输入只有一行,包含一个正整数 n. 对于60% ...

  9. Oracle中把一个DateTime的字符串转化成date类型。to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'),

    Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: sele ...

随机推荐

  1. 关于alertmanager报No private IP address found, and explicit IP not provided

    ./alertmanager --config.file=alertmanager.yml level=info ts=2021-11-22T05:53:11.195Z caller=main.go: ...

  2. 内网穿透工具--frp

    对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy.FRP 是一个使用 ...

  3. 羽夏笔记——Hook攻防基础

    写在前面   本笔记是由本人独自整理出来的,图片来源于网络.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你 ...

  4. 廖雪峰Python实战day1

    一.按照廖雪峰的教程,安装开发环境,问题不大. 1.异步框架aiohttp:$pip3 install aiohttp 2.前端模板引擎jinja2:$ pip3 install jinja2 3.安 ...

  5. ApplicationContext 通常的实现是什么?

    FileSystemXmlApplicationContext :此容器从一个 XML 文件中加 载 beans 的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数. ClassPat ...

  6. SaltStack项目实战(二)

    架构图: 配置思路 (1).系统初始化 Base环境下存放所有系统都要执行的状态,调整内核参数,dns,装zabbix-agent等 (2).功能模块(如:上面的haproxy) 如上面的haprox ...

  7. Linux文件管理 | Linux 文件基础知识

    目录 Linux 常用文件类别 Linux 目录结构概述 LInux 系统目录及说明 一.Linux 常用文件类别 1.文件   在Linux上系统上,有一切皆文件的说法,就是说任何软件和I/O设备都 ...

  8. NE555脉冲模块电路

  9. CSS 面试题总结

    CSS 中类 (classes) 和 ID 的区别. 书写上的差别:class名用"."号开头来定义,id名用"#"号开头来定义: 优先级不同(权重不同) 调用 ...

  10. css创建叉和勾

    a{ display: inline-block; width: 10px;height:5px; background: red;line-height: 0;font-size:0;vertica ...