与非 乱搞233

题目大意:
初始时你有一个空序列,之后有N个操作。
操作分为一下两种:
1. x:在序列末尾插入一个元素x(x=0或1)。
2.LR:定义nand[L,R]为序列第L个元素到第R个元素的与非和,询问nand[L,L]^nand[L,L+1]^nand[L,L+2]^……^nand[L,R]。
Nand就是先与,再取反
f[n]=nand(1,i); sum[n]= ni=1f(i)
询问时
nand(l,r)=…(!(a[l]&a[l+1])&…)…
f(r)=…(!(f[l]&a[l+1])&…)…
当f[l]=a[l]时,nand(l,r)=f(r)
一直往后找就好了..
好像还能二分什么的优化,但我也不会..
有兴趣的读者自己思考…(滑稽)

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#define N 4000005
using namespace std;
int n,tot,a[N],f[N],sum[N];
int query(int l,int r){
    int now=l,s=!(a[l]&a[l+1]),ans=a[l];
    while(s!=f[now+1]&&now<r){
        ans^=s;
        now++;
        s=!(s&a[now+1]);
    }
    ans^=sum[r]^sum[now];
    return ans;
}
int main(){
    scanf("%d",&n);
    int ans=0;
    int opt,x,l,r;
    while(n--){
        scanf("%d",&opt);
        if(opt==1){
            scanf("%d",&x);
            x^=ans; a[++tot]=x;
            f[tot]=!(f[tot-1]&x);
            sum[tot]=sum[tot-1]^f[tot];
            if(tot==1) f[1]=sum[1]=x;
        }
        else{
            scanf("%d%d",&l,&r);
            if(ans==1){l=tot-l+1;r=tot-r+1;swap(l,r);}
            ans=query(l,r);
            printf("%d\n",ans);
        }
    }
    return 0;
}
springboot052基于Springboot+Vue旅游管理系统毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
### 回答1: 如果你的Kali Linux系统的网络配置出现了问题,可以尝试以下步骤来修复它: 1. 检查网络配置文件:打开终端并输入 "sudo nano /etc/network/interfaces",检查配置文件是否正确。如果出现错误,请修复它并保存更改。 2. 重启网络服务:输入 "sudo service networking restart" 以重启网络服务。 3. 检查IP地址:输入 "ifconfig" 查看你的IP地址是否正确。如果不正确,请尝试手动设置一个正确的IP地址。 4. 检查网关和DNS:输入 "cat /etc/resolv.conf" 查看你的网关和DNS是否正确。如果不正确,请尝试手动设置它们。 如果以上步骤仍然无法解决你的问题,你可以考虑重新安装Kali Linux系统或者联系网络管理员寻求帮助。 ### 回答2: Kali的网段配置搞乱了可能是由于以下几个原因造成的: 1. IP地址冲突:Kali通过DHCP或手动分配得到了一个已经被其他设备使用的IP地址。这会导致网络中存在两个设备拥有相同的IP地址,从而导致网络通信问题。 2. 子网掩码错误:Kali的子网掩码设置有误,导致Kali无法正确识别网络中的其他设备并进通信。子网掩码决定了网络中IP地址的分类和范围,如果错误设置,将影响网络通信。 3. 网关设置错误:Kali的网关设置有误,导致Kali无法正确路由数据包。网关是连接不同网络的通道,如果设置错误,可能会导致网络通信中断。 为解决Kali的网段配置问题,可以采取以下步骤: 1. 检查IP地址冲突:通过查看网络中已经分配的IP地址,确保Kali所使用的IP地址与其他设备不重复。可以使用IP扫描工具如nmap来扫描局域网中的设备及其IP地址。 2. 修正子网掩码设置:根据网络的规模和需求,正确设置Kali的子网掩码。一般情况下,家庭网络可以使用255.255.255.0作为子网掩码。 3. 确认网关设置:查看网络中的路由器或交换机设置,确认Kali的网关设置是否正确。一般情况下,网关设置为主路由器的IP地址。 4. 重启网络服务:在进以上调整后,可能需要重启Kali的网络服务以使更改生效。可以使用命令"sudo service networking restart"来重启网络服务。 5. 更新网络配置:如果以上步骤无效,还可以尝试更新Kali系统的网络配置文件,其中包括/etc/network/interfaces和/etc/resolv.conf等文件。 总之,通过检查IP地址,子网掩码和网关设置,并进相应调整和更新,可以解决Kali的网段配置问题,使其重新恢复正常的网络通信能力。 ### 回答3: Kali的网段配置搞乱了可能是指在Kali操作系统中网络配置出现了问题,导致无法正常连接到网络或与其他设备通信。对于这个问题,可以采取以下步骤进排查和修复。 首先,我们需要查看Kali的网络配置。可以通过在终端中运命令"ifconfig"来查看当前的网络接口和IP地址。确保网络接口状态正常,并且IP地址在与其他设备处于同一网段。 如果IP地址不是与其他设备处于同一网段,可以通过编辑网络接口配置文件来修复。网络接口配置文件位于"/etc/network/interfaces"。使用文本编辑器打开该文件,确保该文件中的网段配置与其他设备相匹配。 如果网络接口配置文件正确,则需要检查网络配置文件"/etc/resolv.conf",以确保正确配置了DNS服务器。如果没有正确配置DNS服务器,则可能无法通过域名进网络访问。 另外,可以使用命令"route"来查看和管理路由表。确保路由表中没有错误的网关或路由配置。 如果上述步骤都没有解决问题,可以尝试重新启动网络服务,命令为"service networking restart"。或者重启整个操作系统,有时这可以解决一些网络配置问题。 需要注意的是,网段配置问题可能出现在路由器、交换机或其他网络设备的配置中。如果Kali的网络配置一直正常,而其他设备无法与其正常通信,可能需要检查并排除网络设备的配置问题。 总之,通过检查和修复Kali的网络接口配置、路由表和DNS服务器配置,可以解决Kali网段配置搞乱的问题,以便正常连接到网络并与其他设备通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值