【郑轻邀请赛 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 ... 
随机推荐
- CodeForces - 557D  Vitaly and Cycle(二分图)
			Vitaly and Cycle time limit per test 1 second memory limit per test 256 megabytes input standard inp ... 
- JSP-Runoob:JSP 指令
			ylbtech-JSP-Runoob:JSP 指令 1.返回顶部 1. JSP 指令 JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言. 语法格式如下: <%@ direc ... 
- Flume Netcat Source
			1.cd /usr/local2/flume/conf sudo vim netcat.conf # Name the components on this agent a1.sources = r1 ... 
- javascript的鼠标事件---基础
- 使用php实现二叉搜索树
			看到一位大神写的js的搜索树,自己也按照模式写了一个php的二叉搜索树. <?phpclass node{ public $data; public $key; public $left=nul ... 
- 数值分析常见算法C++实现
			1.1-有效数字丢失现象观察 #include<bits./stdc++.h> using namespace std; double f1(double x) { )-sqrt(x)); ... 
- $CF1141B Maximal Continuous Rest$
			告诉你一天n件事情 a[i]为1是休息 a[i]为2是工作 求最长连续的休息时间(即最长的1 可以作为环状来求.(即环状最长的1 这题就可以用前缀和贪心等什么操作.. 然后用\(ans1ans2\)瞎 ... 
- 【HTML5】基于HTML5的高性能动画与游戏
			其实这篇文章类似版本早在12年就在网上各处出现了,也随着HTML5的兴起,HTML的新特性也是倍受开发者们追捧,自然相关HTML5的高性能动画与游戏的相关文章也是层出不穷的,笔者也是在12年接触的相关 ... 
- Linux命令(002) -- free
			一.准备知识 Linux和Windows系统在内存管理机制方面有很大的不同.在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的 ... 
- SQL SERVER中存储过程IN 参数条件的使用!!!
			正常的传递 @SendStationID='''1'',''2''' 是无效,改用 @SendStationID='1,2,3,003,002' 调用以下的存储过程可以实现in 查询效果 USE [ ... 
