当前位置: 首页 > news >正文

Jouier 普及组十连测 R4

反思

        本次比赛到时没有什么细节错误,不过代码思路不好所以分数也不是很高。

T1

代码思路

        看题意,发现数据范围不大,直接动用码力暴力即可。

代码

#include<bits/stdc++.h>
using namespace std;vector<vector<int> > a(110);
int v[100];
char ch[110];
long long ans = 0;
int n,m,k; bool check(){int p = 0;for(int i = 1; i <= m; i++){p = 0;for(int d : a[i]) p += v[d];if(p >= k && ch[i] == 'x') return 0;if(p < k && ch[i] == 'o') return 0;}return 1;
}void dfs(int t){if(t >= n+1){if(check()) ans++;return ;}v[t] = 1;dfs(t+1);v[t] = 0;dfs(t+1);
}int main(){freopen("key.in","r",stdin);freopen("key.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin >> n >> m >> k;for(int i = 1; i <= m; i++){int c; cin >> c;for(int j = 1; j <= c; j++){int x; cin >> x;a[i].push_back(x);}cin >> ch[i];}dfs(1);cout << ans << endl;return 0;
} 

T2

代码思路

        这道题本人拿了40pts,就是暴力加上特殊点的分,也是尽我所能了。

        接下来讲解一下正确思路:

                在子字符串中,如果每个数字出现次数为偶数那么他就是快乐的,我们可以类似于状态压缩dp一样,把每个数出现的次数奇偶性存在一个二进制数,比如第0位存0出现次数的奇偶性,如果存现次数为偶数当前位为1反之为0。类似于前缀和思想,如果两个数奇偶性一致(就是这个二进制数一致)那么这个区间就是合法的也就是统计之前这个二进制数出现几次累加即可。

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;int main() {freopen("fly.in","r",stdin); freopen("fly.out","w",stdout); string S;cin >> S;int n = S.length();unordered_map<int, int> mask_count;mask_count[0] = 1;  // 初始掩码为0,表示所有数字出现0次(偶数次)int current_mask = 0;long long result = 0;for (char c : S) {int digit = c - '0';current_mask ^= (1 << digit);  // 翻转对应数字的奇偶位result += mask_count[current_mask];  // 累加之前相同掩码的出现次数mask_count[current_mask]++;  // 更新当前掩码的出现次数}cout << result << endl;return 0;
}

相关文章:

  • Python入门手册:Python基础语法
  • Python邮件处理:POP与SMTP
  • C++构造和折构函数详解,超详细!
  • YOLO11解决方案之速度估算探索
  • 第R7周:糖尿病预测模型优化探索
  • 【Python打卡Day30】模块与包的导入@浙大疏锦行
  • 《P1470 [USACO2.3] 最长前缀 Longest Prefix》
  • Python打卡5.23(day24)
  • Jouier 普及组十连测 R3
  • Claude 4 发布:编码 AI 新纪元的开启
  • 文章记单词 | 第111篇(六级)
  • 文章记单词 | 第114篇(六级)
  • 生成模型——变分自动编码器(Variational Autoencoders, VAEs)
  • 国家网络身份认证公共服务管理办法
  • LEED认证是什么?LEED认证难吗?LEED认证需要准备的资料
  • Android内存调优学习总结(OOM与ANR)
  • 【Qt开发】显示类控件——QLCDNumber
  • VRRP虚拟路由器协议的基本概述
  • 有两个Python脚本都在虚拟环境下运行,怎么打包成一个系统服务,按照顺序启动?
  • linux ptrace 图文详解(九) gdb如何判断被tracee唤醒的原因
  • 广东省广州市番禺区/seo优化快速排名
  • 学php到做网站要多久/网站推广计划书
  • 一般网站海报做一张多久/搜索引擎推广简称
  • 工程招标信息在哪看/广州seo学徒
  • 企业网络营销推广方案策划范文/seo网络排名优化方法
  • wordpress教育培训/seo排名优化技术