【郑轻邀请赛 G】密室逃脱
【题目链接】:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133
【题意】
【题解】 
 
考虑每一个二进制数的最高位->第i位; 
肯定是1(这里不讨论0的情况) 
然后对于其余n-1个二进制数; 
如果它们在第i位和它一样->也是1的话,那么异或结果是0 
那么不管第i位后面的位怎么变;它肯定是变小的->我们要求的 
如果它们在第i为和它不一样->即为0,那么异或结果是1; 
则它肯定是变大了; 
综上 
我们只要确定每个数的最高位所在的位置i 
然后确定其他数字在第i位上是为1的数的个数cnt; 
然后加上cnt就好; 
 
【Number Of WA】 
 
0 
 
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define ps push_back
#define fi first
#define se second
#define rei(x) cin >> x
#define pri(x) cout << x
#define ms(x,y) memset(x,y,sizeof x)
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 1e6+100;
int T,n,m,top[N],tot[N];
LL ans;
string s;
int main()
{
    //freopen("F:\\rush.txt","r",stdin);
    ios::sync_with_stdio(false);
    cin >> T;
    while (T--)
    {
        ans = 0;
        cin >> n >> m;
        rep1(j,1,m) tot[j] = 0;
        rep1(i,1,n) top[i] = 0;
        rep1(i,1,n)
        {
            cin >> s;
            bool fi = true;
            rep1(j,1,m)
            {
                if (s[j-1]=='1')
                {
                    if (fi) top[i] = j,fi = false;
                    tot[j]++;
                }
            }
        }
        rep1(i,1,n)
            ans+=tot[top[i]];
        cout << ans << endl;
    }
    //printf("\n%.2lf sec \n", (double)clock() / CLOCKS_PER_SEC);
    return 0;
}【郑轻邀请赛 G】密室逃脱的更多相关文章
- 【郑轻邀请赛 D】hipercijevi
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2130 [题意] [题解] 把那个管泛化成一个点; 然后把每一个在管里面的点都和它相连 ... 
- 【郑轻邀请赛 E】Can Win
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2131 [题意] [题解] 尽量让自己喜欢的队赢; A内组内的比赛都让自己喜欢的队赢; ... 
- 【郑轻邀请赛 H】	维克兹的进制转换
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134 [题意] [题解] 设f[i]表示数字i分解为二进制数的方案数; 则 如果i为 ... 
- 【郑轻邀请赛 A】tmk射气球
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2127 [题意] [题解] 把气球和飞艇所代表的直线投影到xoy面上 设气球所在位置为 ... 
- 【郑轻邀请赛 B】base64解密
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2128 [题意] [题解] 把密文; 在表中找到每个字符对应的数字; 然后转换成相应的 ... 
- 【郑轻邀请赛 I】这里是天堂!
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2135 [题意] [题解] 答案应该为C(n,a)∗C(m,b)/C(n+m,a+b) ... 
- 【郑轻邀请赛 F】	Tmk吃汤饭
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2132 [题意] [题解] 很容易想到用队列来模拟; 这个队列维护的是正在煮的4个人煮 ... 
- 【郑轻邀请赛 C】DOBRI
		[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2129 [题意] [题解] NMB 直接说i-1,i-2,i-3不就好了- [Numb ... 
- 基于Spring MVC + Spring + MyBatis的【密室逃脱游戏主题排行榜】
		资源下载: https://download.csdn.net/download/weixin_44893902/25706959 一.语言和环境 1. 实现语言:Java语言 2. 环境要求:ecl ... 
随机推荐
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/util/POILogFactory
			Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/util/POILogFacto ... 
- JavaScript中对象转换为原始值的规则
			JavaScript中对象转换为原始值遵循哪些原则? P52 对象到布尔值对象到布尔值的转换非常简单:所有的对象(包括数字和函数)都转换为true.对于包装对象亦是如此:new Boolean(fal ... 
- JVM-垃圾回收器
			目录 垃圾收集器 Serial收集器 Serial Old 收集器 ParNew 收集器 Parallel Scavenge 收集器 (并行清除) /'pærəlɛl/ /'skævɪndʒ/ Par ... 
- Web页面使用VLC播放插件
			一.原生态Demo下载 选择原因:我们为什么选择VLC播放插件?原因是它支持IE8浏览器播放视频,如果高版本的浏览器大可不必选择该插件,很多html5插件既好用又简单,但是有些交管或政府 部门还是限制 ... 
- vue项目杂记
			vue项目杂记 文件目录结构 src main.js app.vue package.json webpack_config_dev.js 需要安装的包 1. vue cnpm i vue --sav ... 
- python--9、进程及并发知识
			进程 一个文件的正在执行.运行过程就成为一个进程.执行多个程序,把程序文件都加载到内存,并且多个程序的内存空间隔离--空间上的复用. 遇到IO等待,切CPU到别的程序,提升效率.没有IO,一个程序占用 ... 
- body全屏css/网页全屏设置/全屏样式
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- Server Tomcat v8.0 Server at localhost failed to start   问题解决方法?
			bi编程jsp servlet 第一个程序: HelloServlet 运行错误 404: 十月 28, 2017 11:25:14 上午 org.apache.tomcat.util.digest ... 
- 一篇文章告诉你如何使用EF CodeFirst做增删改查
			一.修改数据 其实修改涉及的内容挺多的,是相对于其他操作来说比较繁琐.也是本文的重头戏. 虽然都是基础内容,但是也是值得细细品味的. 1.最简单直接的修改数据就是从数据库里检索出数据修改相应的字段即可 ... 
- unity之Rigidbody属性
			Rigidbody属性 Mass表示物体的质量,数值类型为float,默认值为1.大部分物体的质量属性接近于0.1才符合日常生活感官感受,超过10 ,则失去了仿真效果. Drag表示平移阻力,其数值类 ... 
