你知道它很水,但你就是切不掉它

解析

一直卡85!!
原因:最后判断的循环应该从0到k-1而不是从1到k!
啊啊啊一定要小心啊qwq
说实话这个分都算是好的,这种bug爆大分一点招没有
还有一个问题是对于ans=64爆unsigned ll 的特判,需要注意
(而且由于没看着限制互不相同的条件,还开了个map慢的像屎一样qwq)
睁大眼睛,注意细节!!!

代码

#include<bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define int unsigned long long
const int N=2e6+100;
inline ll read() {ll x=0ull,f=1ull;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return f*x;
}
int n,m,c,k;
ll st,mi[68];
vector<int>v[68];
map<int,bool>mp;
signed main(){//freopen("a.in","r",stdin);//freopen("a.out","w",stdout);n=read();m=read();c=read();k=read();mi[0]=1ull;for(int i=1;i<=63;i++) mi[i]=mi[i-1]<<1ull;for(int i=1;i<=n;i++){ll x=read();st|=x;}for(int i=1;i<=m;i++){int x=read(),y=read();v[x].push_back(y);if(st&mi[x]) mp[y]=1;}int num=0;for(int i=0;i<k;i++){int flag=1;for(int j=0;j<(int)v[i].size();j++){int o=v[i][j];if(!mp[o]){flag=0;break;}}//if(flag) printf("i=%d\n",i);num+=flag;}if(num==64&&!n)puts("18446744073709551616");//printf("num=%llu\n",num);else printf("%llu\n",mi[num]-n);
}
/*
*/

CSP2020洛谷P7076:动物园(位运算)相关推荐

  1. 洛谷 1226 取余运算||快速幂

    洛谷  取余运算||快速幂 1226 其实比起楼下的大佬们,我主要是多了些位运算和讲解. 想法一: 直接输出 pow(b,q)%k 嗯~~勇气可嘉,但是看一眼数据范围(长整型)就会意识到,这个方法也许 ...

  2. 洛谷——P1226 取余运算||快速幂

    P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出"b^ ...

  3. CSP2020洛谷P7077:函数调用

    解析 没做出来- qwq 自己只能想到拓扑开vector把每个函数搞成一个奇怪的加法标记和乘法标记的结合 极限数据卡一卡还是nm的 得分纯玄学qwq 本题的关键是乘法相当于把函数调用多次 这样就可以利 ...

  4. java取余位运算_java学习--高效的除模取余运算(n-1)hash

    没有测试过使用取余运算符和位运算符都做同一件事时的时间效率! 取余运算符% 如3除以2取余数 int a = a = a%; 结果为1 上面是传统的方式进行求余运算. 需要先将10进制转成2进制到内存 ...

  5. 洛谷P1101 单词方阵 (C语言 + 详细注释 + 五妙)

    //首先声明一下,我的代码大部分是参照洛谷的一位博客:Way_How_Fri3nd.看完后我就觉得写的非常好,由于我不知道怎么转载洛谷的博客,所以干脆自己写一篇CSDN博客,因为写的实在是太好了,我迫 ...

  6. 【洛谷 P4934】 礼物 (位运算+DP)

    题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...

  7. 洛谷P1896 [SCOI2005]互不侵犯 状压dp+位运算

    题目链接:https://www.luogu.org/problem/P1896 题意:n*n的格子填数,每个数填放位置的周围(8个)不能有其他的数 n<=9 ,矩形状压 f[i][j][s], ...

  8. 洛谷P1562 还是N皇后(DFS+状态压缩+位运算)

    八皇后问题的介绍在此不再赘述,只贴一下经典八皇后问题的实现代码(参考刘汝佳 <算法竞赛入门经典>) void search(int i) {if(i>n){ans++;return; ...

  9. 洛谷 P3620 - P3621 数据备份、风铃、动物园(APIO 2007)

    洛谷 P3620 - P3622 数据备份.风铃.动物园(2007 APIO) P3620 数据备份 题目描述: 思路: 我们先来将这道题简化一下: 将每一对相邻的建筑之间的空地看作一个点,点的权值即 ...

最新文章

  1. js字母大小写字母转换
  2. 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 | 源码资源 )
  3. python dlib学习(四):单目标跟踪
  4. 零基础学习Java开发,这些学习笔记送给你!
  5. Web框架——Flask系列之Flask简介(一)
  6. 【xcode 插件】快速插件安装
  7. 深度:余额宝技术架构及演进
  8. java简单租车系统 慕课手记_Java租车系统(新手)
  9. linux 定时器中断脉冲计数,STM32定时器产生指定个数脉冲
  10. 2500个常用中文字符 + 130常用中英文字符
  11. WPF的错误以及笔记
  12. python计算等额本息还款房贷_一个简单的房贷计算器(等额本息)
  13. RuntimeError: CUDA error: device-side assert triggered的解决
  14. dll 不是 PML.NET callable问题解决办法
  15. 为什么模型loss为负
  16. 陈坤VS黄晓明:用大数据解读大明星
  17. 数字电路器件——门电路——与门电路、或门电路、非门电路及实例
  18. DDoS攻防战 (一) : 概述
  19. 游戏后台之高效定时器-时间轮
  20. 雾锁FCoin:局中局套住了谁?

热门文章

  1. idea 线程内存_Java线程池系列之-Java线程池底层源码分析系列(二)
  2. mysql集群从节点无法启动_一次galera cluster集群故障节点无法启动问题排查
  3. shell grep 变量_老司机给出的关于 shell 脚本的8个建议,必收!
  4. linux怎么杀死线程c语言,教程-linux下c语言编程 第一弹-线程的使用
  5. java调试案例_Spring-boot的debug调试代码实例
  6. cmosfixr插件怎么用_3dmax插件神器|怎么用3dmax插件神器去完成背景墙的效果图设计?...
  7. 紫光物联linux登录账号,紫光展锐打造操作系统生态,赋能万物互联智能时代
  8. 大脚战场插件怎么关闭_PM工具栏插件:HonmToolBar
  9. 用python画树_Python+Turtle动态绘制一棵树实例分享
  10. 图书管理系统jsp代码_【程序源代码】使用Java开发的图书管理系统