清北学堂模拟赛d2t2 位运算2(bit)】的更多相关文章

题目描述LYK拥有一个十进制的数N.它赋予了N一个新的意义:不考虑N的符号,将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值,数字-233拥有8的价值.假设数字N的价值是K,LYK想找到一个价值是K+1的数字,当然这个答案实在太多了,LYK想使得这个价值为K+1的数字尽可能大,并且需要保证这个数字小于N. 输入格式(bit.in) 一个整数N. 输出格式(bit.out)一个数表示答案.你需要输出一个整数,且这个数不包含前导0. 输入样例119…
题目描述LYK拥有一个十进制的数N.它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值.假设数字N的价值是K,LYK想找到一个价值是K-1的数字,当然这个答案实在太多了,LYK想使得这个价值为K-1的数字尽可能大. 输入格式(bit.in) 一个数N. 输出格式(bit.out)一个数表示答案.你需要输出一个非负整数,且这个数不包含前导0. 输入样例1199 输出样例1198 输入样例21000 输出样例20 对于20%的…
题目描述 LYK最近在研究位运算,它研究的主要有两个:or和xor.(C语言中对于|和^) 为了更好的了解这两个运算符,LYK找来了一个2^n长度的数组.它第一次先对所有相邻两个数执行or操作,得到一个2^(n-1)长度的数组.也就是说,如果一开始时a[1],a[2],…,a[2^n],执行完第一次操作后,会得到a[1] or a[2],a[3] or a[4] ,…, a[(2^n)-1] or a[2^n]. 第二次操作,LYK会将所有相邻两个数执行xor操作,得到一个2^(n-2)长度的数…
分析:直接O(n^3)做是只有50分的,可以加一点小小的优化,就是c[k]可以从c[k-1]得到,但是还是只有60分,从宏观意义上是不能继续优化了.对于这类涉及到位运算的性质的题目,将每个数转化成二进制,两个数第i位异或值为1当且仅当两个数上这一位不同,我们只需要记录每一位上有多少个a为1,有多少个b为1,最后相乘再乘上这一位表示的大小就可以了. #include<iostream> #include<cstdio> #include<cstring> #define…
分析:大模拟,没什么好说的.我在考场上犯了一个超级低级的错误:while (scanf("%s",s + 1)),导致了死循环,血的教训啊,以后要记住了. /* 1.没有发生改变,check一下 2.将一位1变成0 3.添一位 4.减一位 */ #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std;…
/* clj:水题别人都满分你不是你就完了,所以说水题一定要细心一点,有这么几个细节:①前导零的处理,全是零的时候要特判②换行要注意,不要多大一行,剩下就是水水的模拟了 */ #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #…
3.棋盘迷宫(boardgame.pas/c/cpp)(boardgame.in/out)时间限制:5s/空间限制:256M[题目描述]小 A 和小 Z 是非常要好的朋友, 而且他们都对迷宫游戏非常有兴趣. 他们经常在自习课上用迷宫来打发时间(两位都是学习效率 400%的 dalao, 大家切记不要模仿) .他们的迷宫非常简单, 又被他们叫做是棋盘迷宫, 迷宫本身是一个 N*M 大小的棋盘, 从左往右列数不断加大, 从上往下行数不断增大, 故左上角的坐标为(1,1),右下角的坐标为(N,M) .…
题目描述众所周知的是,火柴棒可以拼成各种各样的数字.具体可以看下图: 通过2根火柴棒可以拼出数字“1”,通过5根火柴棒可以拼出数字“2”,以此类推. 现在LYK拥有k根火柴棒,它想将这k根火柴棒恰好用完,并且想知道能拼出的最小和最大的数分别是多少. 输入格式(stick.in) 一个数k. 输出格式(stick.out) 两个数,表示最小的数和最大的数.注意这两个数字不能有前导0. 输入样例15 输出样例108 7111111 数据范围对于30%的数据k<=10.对于60%的数据k<=20.对…
题目描述总共有n颗糖果,有3个小朋友分别叫做L,Y,K.每个小朋友想拿到至少k颗糖果,但这三个小朋友有一个共同的特点:对3反感.也就是说,如果某个小朋友拿到3颗,13颗,31颗,333颗这样数量的糖果,他就会不开心.(也即它拿到的糖果数量不包含有一位是3)LYK掌管着这n颗糖果,它想问你有多少种合理的分配方案使得将这n颗糖果全部分给小朋友且没有小朋友不开心.例如当n=3,k=1时只有1种分配方案,当n=4,k=1时有3种分配方案分别是112,121,211.当n=7,k=2时则不存在任何一种合法…
题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,不仅有边权还有点权. LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G’的点集V’包含于G的点集V. ·对于E中的任意两个点a,b∈V’,当(a,b)∈E时,(a,b)一定也属于E’,并且连接这两个点的边的边权是一样的. LYK给一个子图定义了它的价值,它的价值为:点权之和与边权之和的比. LYK想找到一个价值最大的非空子图,所以它来找你帮忙啦. 输入格式(graph…