Smiling & Weeping

              ----我对姑娘的喜欢,何止钟意二字

题目链接:Problem - C - Codeforces

自我分析:我感觉这是一道很有意义的题目,可以帮我们更好的理解二进制的本质

思路:首先先了解一下题目,我们是求由第i个数到末尾的异或和(异或:相同为0,不同为1),那么我们可以换种思路,可以求从1到i的异或和m,再^上从1到j的异或和(1 <= j <= i) ,毕竟异或相同的数两次等于0,那么有了这个算法思路,我们可以设计程序了:

  使用vis记录曾经出现的异或和(a < pow(2 , 8) ), 再从1遍历到n , 算法的复杂度为O(pow(2,8)*n) , 可以通过

  现在是代码时间(づ ̄3 ̄)づ╭~you

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int t , n;
4 const int maxn = 1 << 8;
5 int main()
6 {
7 scanf("%d",&t);
8 while(t--)
9 {
10 scanf("%d",&n);
11 int cur = 0 , ans = 0;
12 vector<int> num(n+10);
13 vector<bool> vis(maxn+10);
14 for(int i = 1; i <= n; i++)
15 scanf("%d",&num[i]);
16 vis[0] = true;
17 for(int i = 1; i <= n; i++)
18 {
19 cur ^= num[i];
20 for(int j = 0; j < maxn; j++)
21 {
22 if(vis[j])
23 {
24 int an = j^cur;
25 ans = max(ans , an);
26 // vis[an] = true;
27 }
28 }
29 vis[cur] = true;
30 }
31 printf("%d\n",ans);
32 }
33 return 0;
34 }

其实对第26行,我还是深有感触的,我们大可不必去记录每个的前j个的异或和与新值(记录了一定出错,不符合题意,思考一下(ˇˍˇ) 想~),再填入vis中,就像二进制运算一样,它的所有可能出现的值都能用前i个异或和 以及 前j个异或和 来异或表示

这路遥马急的人间,你我平安喜乐就好 --o(╥﹏╥)o-- 此后烟雨皆尽散,一人撑伞一人行

Codeforces Round div.2 C的更多相关文章

  1. Codeforces Round #211 (Div. 2)

    难得一次比赛能够自己成功A掉四个题: A题:水题,模拟一下就行: #include <iostream> #include <cstdio> using namespace s ...

  2. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  3. Codeforces Round #202 (Div. 2)

    第一题水题但是wa了一发,排队记录下收到的25,50,100,看能不能找零,要注意100可以找25*3 复杂度O(n) 第二题贪心,先找出最小的花费,然后就能得出最长的位数,然后循环对每个位上的数看能 ...

  4. Codeforces Round #404 (Div. 2) DE

    昨晚玩游戏竟然不小心错过了CF..我是有多浪啊. 今天总算趁着下课时间补了,感觉最后两题还是挺有意思的,写个题解. D: 题目大意: 给出一个括号序列,问有多少个子序列 是k个'(' + k个')' ...

  5. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  6. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  7. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

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

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

  9. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  10. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

随机推荐

  1. npm run serve/build 背后的真实操作

    vue CLI 用起来的确很舒服,方便省事,但他经过层层封装很难明白,执行完那个npm run serve/build 后他都干了些什么,甚至不知道整个项目是怎么跑起来的,今天自己抽时间就去瞅瞅,为加 ...

  2. 渗透测试-struts2攻防环境搭建拿shell

    一.下载Jspstudy 打开目录D:\JspStudy\tomcat\webapps 二.打开struts2并进行拿shell 1.打开struts2 在浏览器中输入网址http://localho ...

  3. Kubernetes 证书详解

    K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式,其中最常用的就是 TLS 认证,当然也有 BootstrapToken,BasicAuth 认证等,只要有一个认证通过,那么 ...

  4. vscode 注释快捷键 一键注释和取消注释快捷键

    // 注释:ctrl+/ /**/ 注释:alt+shift+a

  5. GPT大模型下,如何实现网络自主防御

    GPT大模型下,如何实现网络自主防御 本期解读专家  李智华 华为安全AI算法专家    近年来,随着GPT大模型的出现,安全领域的攻防对抗变得更加激烈.RSAC2023人工智能安全议题重点探讨了人工 ...

  6. 慢 SQL 优化之索引的作用是什么?

    前言 本文针对 MySQL 数据库的 InnoDB 存储引擎,介绍其中索引的实现以及索引在慢 SQL 优化中的作用. 本文主要讨论不同场景下索引生效与失效的原因. 慢SQL与索引的关系 慢SQL优化原 ...

  7. (翻译)Rust中的设计模式(1-Use borrowed types for arguments)

    引言 设计模式 在开发程序中,我们必须解决许多问题.一个程序可以看作是一个问题的解决方案.它也可以被看作是许多不同问题的解决方案的集合.所有这些解决方案共同解决一个更大的问题. 在Rust中的设计模式 ...

  8. Cronjob 定时任务

    Job: 负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束. CronJob: 则就是在Job上加上了时间调度. 我们用Job这个资源对象来创建一个任务,我们定一个Job来 ...

  9. 【技术积累】Git中的基础知识【一】

    Git是什么?有什么特点? Git是一个分布式版本控制系统,常用于软件开发中的源代码管理.它最初由Linux开发者Linus Torvalds创建,旨在管理Linux内核的开发. Git具有以下特点: ...

  10. 使用 nuxt3 开发简约优雅的个人 blog

    起因 很早前我就有过搭建个人博客的想法,但是我希望使用纯前端实现,这样就不需要付出额外的后端维护成本,维护成本又低,而且更加安全.网上也有很多博客框架但是也不符合我的需求,所以我使用了nuxt3 + ...