BZOJ3687 简单题 dp+bitset

WIFI中CSI的读取 学习目标: 目前正在做基于WIFI的无设备定位,准备使用信道状态信息(CSI),学习一下。 目前采集数据环境已经搭建好,准备研究信号的预处理。 学习内容: 1、 信号的读取——read_bf_file函数的研究 2、 3、 4、 1. read_bf_file详解: %READ_BF_FILE Reads in a file of beamforming feedback logs. % This version uses the *C* version of read_bfee, ... 阅读详情

给出n个数,求所有子集和的异或和。n<=2e6.

正常情况下就是一个01背包,但是范围过大会TLE

于是用bitset优化一下这个bool dp

bitset的第i位表示和为i出现次数的奇偶性

这个东西可以像位运算一样操作,比较方便但是好像用的不多。。

#include<bits/stdc++.h>
#define LL long long
#define clr(x,i) memset(x,i,sizeof(x))
using namespace std;
const int N=2000005;
bitset<N> a;
int n;
int main()
{
    scanf("%d",&n);
    int x,sum=0,ans=0;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        a^=(a<<x);a[x]?a[x]=0:a[x]=1;sum+=x;
        //for(int i=0;i<=sum;i++)printf("%d ",a[i]?1:0);puts("");
    }
    for(int i=1;i<=sum;i++)
      if(a[i])ans^=i;
    printf("%d",ans);
    return 0;
} 


粒子群优化与蚁群算法求解多旅行商问题 它要求在给定一组城市和旅行商之间的距离矩阵的情况下,找到一条最优的路径方案,使得所有旅行商可以分别从起始城市出发,途径其他城市,并最终回到起始城市,同时总旅行距离达到最小。这两种算法都是基于群体智能的优化算法,在求解组合优化问题时具有较好的性能表现。假设有n个城市需要被m个旅行商访问,城市间的距离由距离矩阵D表示,其中D(i,j)表示第i个城市到第j个城市的距离。粒子群优化算法是一种基于群体智能的优化算法,其中的粒子代表了潜在的解,并通过模拟粒子在解空间中的移动来搜索最优解。一、多旅行商问题建模。 阅读详情

相关推荐

【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善

【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善

2302_78387246的博客 3592

BZOJ 3687 简单题 (bitset)

3687: 简单题Time Limit: 10 Sec Memory Limit: 512 MB Description小呆开始研究集合论了,他提出了关于一个数集四个问题: 1.子集的异或和的算术和。 2.子集的异或和的异或和。 3.子集的算术和的算术和。 4.子集的算术和的异或和。 目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把 这个问题交给你,

w4149 579

Keil5保姆级安装指南:从破解到STM32开发环境配置(附常见错误解决方案)

本文提供Keil5从安装到STM32开发环境配置的完整指南,包含破解步骤、常见错误解决方案及多芯片支持配置。详细讲解环境预检、核心安装、许可证管理及高效开发环境设置,帮助开发者快速搭建嵌入式开发平台。特别针对安装和卸载过程中的关键问题提供专业解决方案。

weixin_30369041的博客 124

BZOJ3687: 简单题(dp+bitset)

Time Limit:10 SecMemory Limit:512 MBSubmit:1138Solved:556[Submit][Status][Discuss] Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。 目前为止,小呆已经解决...

weixin_30737433的博客 160

CATIA二次开发实战:我用VBA写了个BOM表自动导出工具,效率提升80%

本文详细介绍了如何利用VBA进行CATIA二次开发,构建BOM表自动导出工具的全过程。通过智能解析算法、异常处理机制和性能优化技巧,该工具将BOM表生成时间从2.5小时缩短至8分钟,效率提升80%。文章还探讨了与PDM系统集成和定制化报告生成等扩展应用,为机械设计工程师提供了实用的自动化解决方案。

weixin_33709590的博客 556

比Synergy更轻量!Barrier鼠标共享工具实测:5分钟实现Win/Mac/Linux三设备无缝切换

本文实测了开源免费的Barrier鼠标共享工具,详细指导用户如何在5分钟内于Windows、macOS和Linux三台设备间实现一套键鼠的无缝切换。文章对比了其与Synergy的优势,提供了分平台安装、核心服务端-客户端配置、防火墙设置等完整教程,并分享了解决连接问题的关键技巧,是提升多设备办公效率的实用指南。

weixin_29304021的博客 597

bzoj-3687: 简单题

3687: 简单题 Time Limit:10 SecMemory Limit:512 MB Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。 目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给...

aln1541的博客 206

Linux实战:rMATS可变剪切分析从零到一,避坑指南与结果深度解析

本文详细介绍了在Linux系统上从零开始部署rMATS进行可变剪切分析的完整流程,包括环境搭建、安装避坑指南、参数优化及结果解读。特别针对gfortran依赖、数学库配置等常见问题提供解决方案,并深入解析JC与JCEC结果的差异及可视化技巧,帮助生物信息学研究者高效完成可变剪切分析。

weixin_30394669的博客 409

【BZOJ 3687】简单题

算法标签:bitset

forever_dreams的博客 379

运算放大器电路中的T型网络:如何用更小电阻实现高增益并降低噪声?

本文深入解析了运算放大器电路中T型反馈网络的设计与应用。该网络通过三个较小阻值电阻的组合,等效实现高增益,有效规避了传统大反馈电阻带来的显著热噪声问题。文章从数学原理、噪声定量分析到实际设计技巧,系统阐述了如何利用T型网络在实现高增益的同时,显著降低电路噪声并改善整体性能。

banana的博客 318

docker安装fastdfs+nginx配置

docker安装fastdfs+nginx,实现图片或文件的上传与下载

weixin_47325126的博客 2193

bzoj3687 简单题

题目根据异或的性质可知,偶数个相同的数是没有影响的。之后就是简单dp了,但是,这道题可以用bitset这一神奇东西,当然得学习一下了。#include<bits/stdc++.h> #define N 2000010 using namespace std; int n,x; long long ans; bitset <N> f; int main() { freopen("in.txt"

浅笑~如夏 355

HDR 成像技术学习(三)—— LOFIC

LOFIC(Lateral Overflow Integration Capacitor,横向溢出集合电容)介绍,从像素结构到工作时序。

沧海一升的博客 9729

[bzoj 3687] 简单题:bitset,DP

总有些题的名字比较逗……诸如“简单题”、“绝世好题”等等。 题意:求一个可重数集的子集的算数和的异或和。元素个数n不超过1000个,所有数是正整数,总和不超过2000000。 两次碰到bitset,都没做出来,学习一下。 事先知道这道题可以用bitset来做。bitset是一种STL容器,即位向量,用bitset<N>来定义,N是位数。

chrt's blog 2573

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

bzoj3687: 简单题//bitset//DP

我发现这题没了,为什么~ 不懂bzoj 于是看题解写题 故代码没评测 3687: 简单题 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 700 Solved: 319 [Submit][Status][Discuss] Description 小呆开始研究集合论了,他提出了关于一个数集四个问题: 1.子集的异或和的算术和。 2.子集的异或和的异...

Up Panda 233

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

BZOJ 3687: 简单题(dp+bitset)

传送门 解题思路   设\(f(i)\)表示和为\(i\)时的方案数,那么转移方程为\(f(i)+=f(i-x)\),\(x\)为当前枚举到的数字,这样做是\(O(n\sum a_i)\)的,考虑优化。发现最后要的并不是方案数,最后的奇偶性,那么转移方程转化为\(f(i)^=f(i-x)\),这样可以用\(bitset\)优化,时间复杂度\(O(\frac{n \sum a_i}{32})\)。 ...

weixin_30906185的博客 196

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【BZOJ】3687 简单题 DP+bitset

题目传送门 前几天的考试考到了bitset,于是我就去学了一发。 大佬传送门,这位大佬已经讲的很清楚了,我就不再赘述bitset的功能和用法了。 其实说白了,bitset就是一个可以位运算的bool数组罢了。 回到这题,我们可以很容易想到的是DP,定义f[i[表示当前子集的算术和为i的子集构成方案数。 状态转移方程也非常好想,f[j]+=f[j-a[i]] 然后就是统计答案,若f[i]

Chester King 391

【BZOJ 3687】简单题 dp+bitset

很有意思的一道题目,首先我们可以注意到题目中有一个提示就是 ∑ai≤2000000,这就说明所有的子集的和即所有的情况数目也是小于等于2000000的,于是想到dp,对于异或运算,当一个算数和出现偶数次就对答案没有贡献了,所以f[i]表示算数和i出现了奇数次还是偶数次。考虑没添加进一个新的元素,都可以和之前的任意一个集合(包括空集)组成一个新的集合,但是如果每一次的全部的更新之前的答案的话时间

pbihao的博客 359

bzoj 3687: 简单题 (dp+bitset)

3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 704  Solved: 323 [Submit][Status][Discuss] Description 小呆开始研究集合论了,他提出了关于一个数集四个问题: 1.子集的异或和的算术和。 2.子集的异或和的异或和。 3.子集的算术和的算术和。 4.子集的算

clover_hxy的博客 469

【bzoj 3687 简单题】【bitset的dp背包优化】【bitset的妙用】

【题意】 求n个数的所有子集的和的异或值 【分析】     要求计算子集算术和的异或和。首先我们设dp[i]表示由这n个数能有多少种方案组成i,显然这样dp[1~sum]就将所有的子集和统计完了,那么计算的时候只要判断(dp[i]&amp;1)就有ans^=i。这样的复杂度是sum*n,对于n=10^3,sum=2*10^6是处理不了的。那我们回过头看看这个dp决策,假设前i个数组成的是dp...

running_acmer的博客 457

bzoj3687 简单题(背包dp+bitset)

关键是权值小啊! 背包dp一下每种权值的个数是奇数还是偶数。 发现O(nW)O(nW)O(nW)过不去 注意到我们的dp值只有0/1,然后我们bitset优化一下就好了啦 复杂度O(nW/32)O(nW/32)O(nW/32) #include &lt;bits/stdc++.h&gt; using namespace std; #define ll long long #define ...

Icefox的博客 363

BZOJ 3687 简单题【dp,bitset基础应用

因为sum 发现出现次数的奇偶性才会影响对答案的贡献,于是存01就好 每次新加一个数x,显然有更新: for(int i=x;i 既然存01,就用bitset了 bitset的左移右移很方便啊2333 对了……这题……数据有毒,没给够n个数,顺手读入优化RE了一年2333 #include #define MAXN 2000005 using namespace std; in

Flaze_的博客 656

【转载】BZOJ3687: 简单题(dp+bitset)

原文链接:https://www.cnblogs.com/zwfymqz/p/8696499.html 题目描述 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1138 Solved: 556 [Submit][Status][Discuss] Description 小呆开始研究集合论了,他提出了关于一个数集四个问题: 1.子集的异或和的算术和。 2.子集的异或和的异或和。 3.子集的算术和的算术和。 4.子集的算术和的异或和。 目前为止,小呆已经解决

我们都有光明的未来 239

【bzoj3687】简单题 背包dp+STL-bitset

题目描述 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给你,未来的集训队队员来实现。 输入 第一行,一个整数n。第二行,n个正整数,表示01,a2….,。 输出 一行,包含一个整数,表示所有子...

weixin_30653097的博客 63

[BZOJ3687]简单题(dp+bitset优化)

题目描述 传送门 题解 刚开始想的有问题,因为很多子集和可能为同一个数 f(i)表示和为i的子集一共有多少个,那么每加进一个数x,f(i+x)+=f(i) 这样的话时间是O((∑ai)2)'>O((∑ai)2)O((∑ai)2)O((\sum a_i)^2)的,考虑怎么优化 很显然最终的答案只与f的奇偶有关,那么让f(i)表示和为i的子集的个数%2的值 转移就变成了

zyf2000 1236

bzoj3687简单题(dp+bitset优化)

3687: 简单题 Time Limit:10 SecMemory Limit:512 MBSubmit:861Solved:399[Submit][Status][Discuss] Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。...

weixin_30314793的博客 101
上一篇: BZOJ1566 [NOI2009]管道取珠 dp
下一篇: BZOJ1058 [ZJOI2007]报表统计 STL
Wolf_Reiser
博客等级 码龄9年 0粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值