“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛-网络模拟赛 部分题解

【Zotero】《纯操作讲解,GPT配置,Zotero标注可视化》- 知识点目录 Temperature分布在。之间,越低输出越稳定; 阅读详情

题目链接

A Mex Query

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 2e5 + 10;
bool vis[N];
 
int main()
{
#ifdef LOCAL
    //freopen("C:/input.txt", "r", stdin);
#endif
    int T;
    cin >> T;
    while (T--)
    {
        memset(vis, 0, sizeof(vis));
        int n;
        cin >> n;
        for (int i = 0; i < n; ++i)
        {
            int x;
            scanf("%d", &x);
            if (x < N)
                vis[x] = 1;
        }
        for (int i = 0; i <= n; ++i)
            if (!vis[i])
            {
                cout << i << endl;
                break;
            }
    }
 
    return 0;
}

B icebound的商店 <dp>

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1e9 + 9;
const int N = 5e3 + 10;
ll f[N]; //价钱和为i的数量
ll b[N];
 
int main()
{
#ifdef LOCAL
    //freopen("C:/input.txt", "r", stdin);
#endif
    b[1] = 1;
    b[2] = 2;
    for (int i = 3; i <= 15; ++i)
        b[i] = b[i - 1] + b[i - 2];
    int T;
    cin >> T;
    while (T--)
    {
        //memset(f, -0x3f, sizeof(f));
        memset(f, 0, sizeof(f));
        f[0] = 1;
        int n;
        cin >> n;
        for (int j = 1; j <= 15; ++j)
            for (int i = 0; i < n; ++i)
                if (i + b[j] > n)
                    break;
                else
                    f[i + b[j]] = (f[i + b[j]] + f[i]) % MOD;
        cout << f[n] << endl;
    }
 
    return 0;
}

C Nim Game <博弈>

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1e9 + 7;
const int N = 1e6 + 10;
int b[N];
int a[N], x[N];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	b[0] = 1;
	for (int i = 1; i < N; ++i)
		b[i] = b[i - 1] * 2 % MOD;
	int T;
	cin >> T;
	while (T--)
	{
		int n, m;
		scanf("%d%d", &n, &m);
		for (int i = 1; i <= n; ++i)
			scanf("%d", &a[i]), x[i] = x[i - 1] ^ a[i];
		ll ans = 0;
		while (m--)
		{
			int l, r;
			scanf("%d%d", &l, &r);
			int res = x[r] ^ x[l - 1];
			if (res)
				ans = (ans + b[m]) % MOD;
		}
		printf("%lld\n", ans);
	}

	return 0;
}

D Defending Plan Support <树形dp>

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 5e5 + 10;
int a[N]; //点权
ll f[N], g[N]; //以i为根点权和 以i为根的代价和
ll ans = LINF;
 
struct edge
{
    int v, w, nxt;
}e[N * 2];
int h[N], idx;
void AddEdge(int u, int v, int w)
{
    e[++idx] = { v, w, h[u] };
    h[u] = idx;
}
void DFS1(int u, int fz)
{
    f[u] += a[u];
    for (int i = h[u]; i; i = e[i].nxt)
    {
        int v = e[i].v, w = e[i].w;
        if (v != fz)
        {
            DFS1(v, u);
            f[u] += f[v];
            g[u] += g[v] + f[v] * w;
        }
    }
}
void DFS2(int u, int fz, ll fzf, ll fzg) //父节点方向点权 代价
{
    ans = min(ans, g[u] + fzg);
    for (int i = h[u]; i; i = e[i].nxt)
    {
        int v = e[i].v, w = e[i].w;
        if (v != fz)
        {
            ll fv = fzf + f[u] - f[v]; //传递+所有儿子-当前儿子
            ll fw = fzg + fv * w + g[u] - g[v] - f[v] * w;
            DFS2(v, u, fv, fw);
        }
    }
}
int main()
{
#ifdef LOCAL
    freopen("C:/input.txt", "r", stdin);
#endif
    int n;
    cin >> n;
    for (int i = 1; i < n; ++i)
    {
        int u, v, w;
        scanf("%d%d%d", &u, &v, &w);
        AddEdge(u, v, w);
        AddEdge(v, u, w);
    }
    for (int i = 1; i <= n; ++i)
        scanf("%d", &a[i]);
    DFS1(1, 0);
    DFS2(1, 0, 0, 0);
    cout << ans << endl;
 
    return 0;
}

E Bitmap <hash>

使用滚动hash将原矩阵每行进行滚动hash,再将行hash结果每列进行滚动hash,最后的结果相当于以i,j为左上角起点大小为m的矩阵hash值。
最后尝试给B矩阵整体加上一个值,对B进行行、列hash查询出现的次数求和。
注意使用ull存储自动溢出节约时间和减少冲突,加减值时B矩阵数值范围要求在[0, 255]内。

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 2e3 + 10;
int a[N][N], b[N][N];
ull h[N][N];

struct HashMap //拉链法hash表
{
	static const int MXSZ = 1e7 + 20; //元素总数 查询也会创建元素 能开大就开大
	static const int MOD = 1e7 + 19; //1e3+9 1e4+7 1e6+3 1e7+19 1e8+7
	struct node
	{
		ull key;
		int val, nxt;
	}elem[MXSZ];
	int head[MOD], tot;
	void Init() //注意初始化!!!
	{
		tot = 0;
		memset(head, -1, sizeof(head));
	}
	int& operator [] (ull key)
	{
		int k = key % MOD; //取模位置
		for (int i = head[k]; ~i; i = elem[i].nxt)
			if (elem[i].key == key) //key相等
				return elem[i].val; //返回val引用
		elem[tot].key = key, elem[tot].nxt = head[k], head[k] = tot; //新建项 将原有的接在当前后并记录当前
		return elem[tot++].val = 0; //清空值并返回引用
	}
}hm;
int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int n, m;
	cin >> n >> m;
	if (m > n)
		cout << 0 << endl, exit(0);
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			scanf("%d", &a[i][j]);
	int mx = 0, mi = INF;
	for (int i = 1; i <= m; ++i)
		for (int j = 1; j <= m; ++j)
			scanf("%d", &b[i][j]), mx = max(mx, b[i][j]), mi = min(mi, b[i][j]);
	ull wp = 1, wq = 1, p = 1e9 + 7, q = 1e9 + 9; //使用ull进行自动溢出
	for (int i = 0; i < m; ++i)
	{
		wp = wp * p;
		wq = wq * q;
	}
	for (int i = 1; i <= n; ++i) //按行hash
	{
		ull ha = 0;
		for (int j = 1; j <= n; ++j) //滚动hash
		{
			ha = ha * p + a[i][j];
			if (j >= m)
			{
				ha = ha - a[i][j - m] * wp;
				h[i][j] = ha;
			}
		}
	}
	hm.Init();
	for (int j = m; j <= n; ++j) //按列hash 从m开始
	{
		ull ha = 0;
		for (int i = 1; i <= n; ++i)
		{
			ha = ha * q + h[i][j];
			if (i >= m)
			{
				ha = ha - h[i - m][j] * wq;
				++hm[ha];
			}
		}
	}
	int ans = 0;
	for (int k = -mi; k <= 255 - mx; ++k) //变动
	{
		ull res = 0; //列
		for (int i = 1; i <= m; ++i)
		{
			ull ha = 0; //行
			for (int j = 1; j <= m; ++j)
				ha = ha * p + (b[i][j] + k);
			res = res * q + ha;
 		}
		ans += hm[res];
	}
	cout << ans << endl;

	return 0;
}

F 神殿 <贪心>

从第到高遍历每一个二进制位,尝试将当前位改为1看是否大于r,如果不大于则给当前位改为1。

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
 
int main()
{
#ifdef LOCAL
    //freopen("C:/input.txt", "r", stdin);
#endif
    ll l, r;
    cin >> l >> r;
    for (int i = 0; i < 32; ++i)
        if ((l | (1LL << i)) <= r) //从低向高 能改为1则改为1
            l |= (1LL << i);
        else
            break;
    cout << l << endl;
 
    return 0;
}

H 跑图 <搜索>

使用BFS搜索记录每个点的最进距离,最开始的时候把每个"1"都放入队列即可。

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 510;
int g[N][N], p[N][N];
bool vis[N][N];
int dir[4][2] = { -1, 0, 1, 0, 0, -1, 0, 1 };
int n, m;

struct node
{
	int x, y, k;
};
void BFS()
{
	memset(p, 0x3f, sizeof(p));
	queue<node> q;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= m; ++j)
			if (g[i][j])
				q.push({ i, j, 0 }), vis[i][j] = 1;
	while (!q.empty())
	{
		int x = q.front().x, y = q.front().y, k = q.front().k; q.pop();
		p[x][y] = k;
		for (int i = 0; i < 4; ++i)
		{
			int xx = x + dir[i][0], yy = y + dir[i][1];
			if (xx >= 1 && xx <= n && yy >= 1 && yy <= m && !vis[xx][yy])
				vis[xx][yy] = 1, q.push({ xx, yy, k + 1 });
		}
	}
}
int main()
{
#ifdef LOCAL
	//freopen("C:/input.txt", "r", stdin);
#endif
	cin >> n >> m;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= m; ++j)
			scanf("%d", &g[i][j]);
	BFS();
	for (int i = 1; i <= n; ++i)
	{
		for (int j = 1; j <= m; ++j)
		{
			if (j != 1)
				putchar(' ');
			printf("%d", p[i][j]);
		}
		putchar('\n');
	}

	return 0;
}

K 520 <快速幂>

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
 
ll mpow(ll a, ll n, ll m)
{
    ll res = 1;
    while (n)
    {
        if (n & 1)
            res = res * a % m;
        a = a * a % m;
        n >>= 1;
    }
    return res;
}
int main()
{
#ifdef LOCAL
    //freopen("C:/input.txt", "r", stdin);
#endif
    ll n;
    cin >> n;
    cout << mpow(2, n, 20180520) << endl;
 
    return 0;
}

L icebound的账单

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;
 
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
 
int main()
{
#ifdef LOCAL
    //freopen("C:/input.txt", "r", stdin);
#endif
    int n;
    cin >> n;
    ll s = 0;bi
    for (int i = 0; i < n; ++i)
    {
        int x;
        scanf("%d", &x);
        s += x;
    }
    if (s > 0)
        printf("icebound is happy.\n");
    else if (s < 0)
        printf("icebound is sad.\n");
    else
        printf("icebound is ok.\n");
 
    return 0;
}
基于STM32设计的智能水产养殖系统(华为云IOT)(152) 当前设计的智能水产养殖系统主控芯片采用STM32F103RCT6,可以实现对水位、水温、水混浊度和PH值等参数的监测和控制,并且支持定时投喂功能。通过连接华为云物联网平台,将传感器数据上传到服务器,并通过Qt设计的Android手机APP来获取设备上传的数据,从而实现对养殖环境的远程监测和控制。 阅读详情

相关推荐

LAMMPS ReaxFF模拟后处理:如何用Python精准追踪C-N键的断裂与形成?

本文详细介绍了如何利用Python对LAMMPS ReaxFF模拟结果进行后处理,精准追踪C-N键的断裂与形成过程。通过解析键级输出文件、构建原子类型映射字典,并实现C-N键的统计与可视化,为材料科学和催化反应研究提供了高效的数据分析解决方案。文章特别强调了ReaxFF力场在断键分析中的关键作用,并提供了完整的Python代码实现。

weixin_28706923的博客 356

2023年第五届河南省CCPC大学生程序设计竞赛

题解:本题结果的最大值为2e18,显然不能用暴力解,但思路是对的,先排序,相邻的k个数中,最小值是相邻两个数的差,最大值为最后一个数-第一个数,要使他们乘积最小,最大值也必须最小,可以用rmq求相邻两个数的差的最小值,(rmq就是为了解决数组下标某一区间内的最值),用数组a[i+k-1]-a[i],求k个数中最后一个数-第一个数,结果找乘积的最小值。给定正整数 k,满足 2 ≤ k ≤ n。第一行包含两个正整数 n,k(2 ≤ k ≤ n ≤ 5 × 105),表示非负整数序列 A 的长度及选取的项数。

m0_64373087的博客 1542

Oracle21C Windows安装全攻略:从下载到配置环境变量,避开ORA-12514的坑

本文详细介绍了Oracle21C在Windows系统上的安装全流程,包括环境准备、安装包验证、分步安装指南、数据库实例创建与配置、环境变量精准配置等关键步骤,特别针对常见的ORA-12514错误提供了解决方案,帮助用户顺利完成安装并避免常见问题。

ooo22的博客 415

第五届河南省CCPC河南省省赛题解+复盘

第五届河南省CCPC河南省省赛题解+复盘

ZZU_LGY 5115

思必驰离线语音芯片:智能家居控制的核心引擎

思必驰离线语音芯片TH1520通过本地化语音识别技术,为智能家居带来革命性体验。该芯片具备200-600毫秒的快速响应、75分贝抗噪能力和双核异构设计,显著提升设备交互效率。支持自定义指令和10种音色选择,开发周期缩短至3天,BOM成本降低30%,是智能家居控制的核心引擎。

redis7keeper的博客 988

Starlink vs Kuiper vs OneWeb:三大低轨卫星网络架构对比与实战应用场景解析

本文对比分析了Starlink、Kuiper和OneWeb三大低轨卫星网络架构的技术差异与商业应用场景。从轨道设计、通信性能到商业落地,详细解析了各系统在近地卫星网络领域的独特优势与挑战,为未来全球宽带服务格局提供专业见解。

weixin_29255731的博客 809

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 - 部分题解

A: 最大下降矩阵 - LIS 时间限制: 1 Sec内存限制: 512 MB 提交: 720解决: 193 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 我们称一个矩阵是下降矩阵,当且仅当,矩阵的每一列都是严格下降的。很显然,这个要求很苛刻,大多数矩阵都无法满足。但是显然如果消去一些行,一定可以使得这个矩阵变成下降矩阵。 现在给出一个n行m列的矩阵,请你求出最少消...

m0_37579232的博客 850

【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明

【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明

wgl307293845的博客 2080

第五届CCPC中国大学生程序设计竞赛河南省赛-网络模拟赛

题目 AMex Query 题目描述 Givennon‑negative integers, please find the least non‑negative integer that doesn’t occur in thennumbers. 输入 The first line is an integerT, representing the number...

1900的博客 1425

linux 内核OOM问题定位-SLAB_DEBUG

首先看slabinfo按的size排序查看 slub object,可以查看 space 总占用大小,及objects个数判断泄漏点 为kmalloc-128。那个泄露多看/sys/kernel/debug的slab/kmalloc*-的alloc-traces和free-traces。SLAB或者SLUB有一个用就可以,改menuconfig没有clean会覆盖之前的更改,现在看一下编译的过程。或者配置defconfig,配置完之后需要clean后再编译。1,配置menuconfig。

陌上花开缓缓归以的博客 900

手把手教您如何群晖/飞牛NAS等服务器上一键部署洛雪音乐同步服务,手机电脑无缝同步歌单,支持外网访问

🎵 手机电脑歌单不同步?用Docker在群晖/飞牛NAS等服务器上搭个同步服务器, 3分钟搞定 !支持docker-compose一键部署,手机、电脑、平板收藏夹实时同步,外出也能用域名远程访问 ~ ✨

XiaoqiangClub的博客 4610

Problem E. 矩阵游戏 (2023年ccpc河南省赛)

从[1,1]走到[n,m],每次只能向下走或者向下走。的时候可以将他变为1从而得到一分,或者不变,求所有从[1,1]走到[n,m]的路径的得分的最大值。改:f[i][j][k]=max(f[i-1][j][k-1]+1,f[i][j-1][k-1]+1)在转移的时候只用到了i和i-1层,那么我们就将i这一维开两个,在转移的时候在两维之间相互转移就可以了。不改:f[i][j][k]=max(f[i-1][j][k],f[i][j-1][k])f[i][j][k]表示走到[i,j]恰好有k个?

qq_61903556的博客 1713

Handler相关面试题

常见面试题: Handler相关 一.谈一谈你对handler的认识,例如:机制和实现等。 handler机制图解: handler常见使用过程: ①.子线程向主线程发送消息: 在主线程中新建Handler实例,并重写handleMessage()方法用于处理子线程传过来的message; 通过Message.obtain()方法获取到消息msg,然后将需要传递给主线程的信息通过msg的what、obj等字段传递; 通过handler的sendMessage发送msg消息,然后在hand

龚礼鹏的博客 3171

第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem A. Mex Query-题解

传送门 Problem A. Mex Query 文章目录传送门Problem A. Mex QueryProblem A. Mex QueryDescriptionInputOutputSample InputSample Output题目大意解题思路AC代码 Problem A. Mex Query Time Limit: 1000ms Memory Limit: 65536KB Description Given nnn non-negative integers, please find the l

<font color="Pink">Tisfy的博客</font> 2572

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

2022河南CCPC自我总结(附榜)

弱校弱队,A了四题AEFG,混了省铜(很满意了)(人生第一块XCPC牌子),大佬轻喷 赛前: 实习和准备考研等各种杂七杂八的事情,赛前两三个月基本没看题,最多敲了几道水题。 9.29热身赛,三个小时,总共四道题,学校里其它四只队伍都A了2-3道,我们队热身赛只A了1道题,而且还是在最后五分钟我的两个队友极限想出来的结论,我为队伍贡献了好几发WA...然后大部分上机时间还都被我占用了...能做的两道

dadateenager的博客 3272

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

“卓见杯”郑州轻工业大学第十五届程序设计大赛暨河南省高校邀请赛题解

如果把形成的环缩点的话就会变成拓扑序列,首先要找到数字最大的那几个点,把他们入队,然后遍历他们的下一个点,找到下一个点里的最大值,再把等于最大值的下一个点入队,这样贪心一定能得到最优解,循环9次,即可找到最大的那个9位数。枚举gcd时如果a,b数组还有公约数,根据贪心,一定会枚举到更大的公约数,把答案更新。因此在处理 回答字符串的时候,直接枚举,贪心找出最长的问题,放到回答问题的哈希表中。贪心:枚举左端点,对于左端点相同的区间,优先选择右端点比较小的。,则从堆里找出右端点最大的去除,直到。

ZZU_LGY 5710

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2021卓见杯第三届CCPC河南省省赛所有题超详细题解附加榜单真题解析,简单代码+详细注释+思想,要看的,补题的速速点进来 2021 10.30

文章中可能有不太恰当地方,还请大家指正。 是否因为出题人的简短题解而发愁?,是否看不懂出题人的变态模板标程?是否因为自己是小白而苦恼?来看这片文章,帮助你解决这些问题 如果有收获请点个赞再走吧,还有几道题没来得及写上去,之后会慢慢补上的 1001.收集金币 [题目链接](http://acm.zzuli.edu.cn/problem.php?id=282dp 算法:动态规划 状态dp思路: f[i][0]表示前i个操作中一直没有跳的最大金币数量 f[i][1]表示前i个操作中已经跳过或者现在跳的最大金币数量

ZZU_LGY 1万+

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛

A 最大下降矩阵 最长递减子序列变形,考虑每一行 #include <bits/stdc++.h> using namespace std; typedef long long ll; int G[305][305],ans; int dp[305]; int main() { int n,m;scanf("%d%d",&n,&m);for(int i=1;...

c3po 391

第五届ccpc河南省赛 //题解

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 ---- 4.13.2019 zzq一眼看破两个签到题,6分钟就A了。 第一个题: PD 文本修正 时间限制: 1 Sec内存限制: 256 MB 提交: 588解决: 239 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 Chika接到了去检查河南省算法竞赛题面的任务,她发现所有单词"H...

Rshs 3142

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 - A - 最大下降矩阵(最长递减子序列)

题目链接:http://acm.zzuli.edu.cn/problem.php?id=2518 思路:把每一行看成一个元素,然后求最长递减子序列即可。 #include<bits/stdc++.h> using namespace std; const int N = 305; int a[N][N], n, m; int dp[N]; int check(int j,in...

sugarbliss 511

【ACM省赛】“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛

榜单:http://acm.zzuli.edu.cn/contestrank.php?cid=1383 总结:这次参加比赛失误不断,首先是签到题连续wa,之后被A题卡到死,当时想到最长上升子序列dp了,但是一看是二维的就没有继续想下去,想着会是模拟或者贪心过,最后也没有写出来。队友开了F题,规律找出来了,但是左右边界的细节没注意,一直没有出来正解。总是,还是做题太少,这种题没有思路。 补题开启...

x_mn的博客 785

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 题解

题解 使用树状数组查询某个范围内的数值的数量,因为数值比较大需要先进行离散化处理。 使用DFS遍历整棵树,当到达某个节点时首先查询区间[a[i]-m, a[i]+m]范围内的数字数量记为last,表示还没到当前子树时已有的数量。 将当前节点值加进梳妆数组,因为自身到自身也算。进行递归,回溯后再次查询区间[a[i]-m, a[i]+m]记为now,表示增加了自身子树之后的数量。 最后每个点的答案f[...

CaprYang的博客 1040

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛经历

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 ——2019.4.13 2019年4月13日对我来说,是个特殊的日子。早早的起床

wqq的博客 867

2019第五届CCPC河南省赛--(铁牌)

卓见杯第五届CCPC河南省赛参与后感 很荣幸能参加这次CCPC河南省赛,这也是我继蓝桥杯大赛后又一次展示自我的机会,这次我们三人组成的“河南工大檬新队”出征此次比赛,由于原来不管是模拟赛还是平时的表现,还有河南省ACM是弱省的缘故,我们本次得目标是保铜争银,但是没想到此次的比赛难度强度之大超乎我们的想象,可能电子科技大学并没有了解河南省ACM的情况,只有两道签到题,很可惜我们铩羽而归,此次比赛我们...

weixin_43791787的博客 1288

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛-网络模拟赛 郑州轻工业大学校赛

Problem A Mex Query 签到题 #include <bits/stdc++.h> using namespace std; #define clr(a) memset(a, 0, sizeof(a)) #define line cout<<"------------"<<endl typedef long long ll; const ...

辞树 795

第五届CCPC中国大学生程序设计竞赛河南省赛-A

简单DP #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 302 int a[N][N], dp[N]; bool check(int i, int k, int n) { for (int j = 0;j < n...

Hacb的专栏 655
上一篇: 郑州轻工业大学“CCPC2019-河南省赛”选拔赛(2) 部分题解
下一篇: ACM-ICPC 2018 南京区域赛 D. Country Meow 三分 | 模拟退火
CaprYang
博客等级 码龄8年 147粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值