<address id="1dp7b"></address>
<sub id="1dp7b"></sub>

      <sub id="1dp7b"></sub>

          CF949E Binary Cards 题解

          题面

          首先发现:一个数最多会出现1次;

          然后深入推出:一个数不会既用它又用它的相反数;

          这样就可以依次考虑每一位了:
          如果所有的数都不含有这一位,那么就直接把所有的数除以2

          如果含有,那么就减去这一位的数,再除以2;

          2

          当含有的时候搜索就可以了;

          注意需通过去重来优化dfs,否则会TLE掉;

          #include <bits/stdc++.h>
          #define N 100010
          using namespace std;
          int a[N],b[21][N],ans[N],st[N],top=0;
          int anss=INT_MAX;
          void dfs(int dep,int n){
              if(n<=1&&!b[dep][1]){
                  if(top<anss){
                      anss=top;
          			for(int i=1;i<=top;i++){
          				ans[i]=st[i];
          			}
                  }
                  return;
              }
              if(dep>20||top>=anss){
              	return;
              }
              bool flag=1;
              for(int i=1;i<=n;i++){
              	if(b[dep][i]&1){
          			flag=0;
          			break;
                  }
              }
              if(flag){
                  for(register int i=1;i<=n;i++){
                  	b[dep+1][i]=b[dep][i]/2;
                  }
                  n=unique(b[dep+1]+1,b[dep+1]+n+1)-b[dep+1]-1;
                  dfs(dep+1,n);
                  return;
              }
              else{
                  for(register int i=1;i<=n;i++){
                  	if(b[dep][i]&1){
                  		b[dep+1][i]=(b[dep][i]-1)/2;
                  	}
                      else{
                      	b[dep+1][i]=b[dep][i]/2;
                      }
                  }	            
                  st[++top]=1*(1<<dep);
                  register int tmp=unique(b[dep+1]+1,b[dep+1]+n+1)-b[dep+1]-1;
                  dfs(dep+1,tmp);
                  top--;
                  for(register int i=1;i<=n;i++){
                  	if(b[dep][i]&1){
                  		b[dep+1][i]=(b[dep][i]+1)/2;
                  	}
                      else{
                      	b[dep+1][i]=b[dep][i]/2;
                      }
                  }	            
                  st[++top]=-1*(1<<dep);
                  tmp=unique(b[dep+1]+1,b[dep+1]+n+1)-b[dep+1]-1;
                  dfs(dep+1,tmp);
                  top--;
              }   
          }
          int main()
          {
              register int n;
              scanf("%d",&n);
              for(int i=1;i<=n;i++){
              	scanf("%d",&a[i]);
              }
              sort(a+1,a+n+1);
              n=unique(a+1,a+n+1)-a-1;
              for(int i=1;i<=n;i++){
              	b[0][i]=a[i];
              }
              dfs(0,n);
              printf("%d\n",anss);
              for(int i=1;i<=anss;i++){
              	printf("%d ",ans[i]);
              }
          }
          
          相关文章
          相关标签/搜索
          每日一句
            每一个你不满意的现在,都有一个你没有努力的曾经。
          公众号推荐
             一个历史类的公众号,欢迎关注
          一两拨千金
          九龙心水三肖永不改料香港开奖结果_香港马会2020开奖结果_2020 最快开奖记录结果_小鱼儿玄机2站开奖 开奖结果 金堂县| 嘉黎县| 东乡县| 周至县| 健康| 共和县| 孝昌县| 巴彦淖尔市| 新民市| 诸城市| 祁东县| 永善县| 东丽区| 商洛市| 门源| 巨野县| 永清县| 连平县| 柳河县| 凌云县| 天祝| 东平县| 延长县| 兴安盟| 翼城县| 阳曲县| 和林格尔县| 岳池县| 兴文县| 湘乡市| 辽阳县| 望都县| 安徽省| 海晏县| 望江县| 桑日县| 陈巴尔虎旗| 莱西市| 林芝县| 北海市| 嫩江县| 调兵山市| 常山县| 六盘水市| 花莲市| 榆林市| 金乡县| 东海县| 吉林省| 丘北县| 偏关县| 寿光市| 巫山县| 勐海县| 白河县| 曲麻莱县| 黑龙江省| 佛教| 峨山| 堆龙德庆县| 友谊县| 峨眉山市| 云安县| 西乡县| 玉门市| 云和县| 盐边县| 出国| 南平市| 拉萨市| 聂荣县| 礼泉县| 大渡口区| 集安市| 兴仁县| 鹰潭市| 曲靖市| 嘉峪关市| 会同县| 福贡县| 墨玉县| 商洛市| 德江县| 丹寨县| 白玉县| 郸城县| 阳高县| 墨玉县| 自贡市| 迁安市| 连城县| 彭州市| 牡丹江市| 漳州市| 阿坝县| 海南省| 青河县| 东辽县| 德惠市| 红桥区| 沽源县| 平遥县| 自治县| 兰考县| 林西县| 北海市| 岱山县| 南郑县| 即墨市| 古蔺县| 天水市| 清水河县| 宜兰县| 澎湖县| 岚皋县| 中宁县| 察隅县| 株洲县| 句容市| 静海县| 新干县| 陕西省| 方山县| 望江县| 泸州市| 华容县| 广昌县| 蒙阴县| 上杭县| 茌平县| 枣阳市| 武平县| SHOW| 清水河县| 铁岭县| 德江县| 云林县| 巩留县| 东阳市| 江陵县| 贵阳市| 同德县| 洱源县| 阳朔县| 景德镇市| 吉木萨尔县| 葵青区| 津市市| 通化市| 乌苏市| 茶陵县| 龙井市| 石柱| 屯门区| 鹤岗市| 黎川县| 大冶市| 美姑县| 黑水县| 长武县| 美姑县| 泾川县| 沈丘县| 兴化市| 西宁市| 凯里市| 顺昌县| 林芝县| 锡林浩特市| 麦盖提县| 紫云| 隆安县| 上饶市| 麟游县| 乌苏市| 海原县| 博客| 辰溪县| 依安县| 孟连| 庆云县| 奎屯市| 十堰市| 辛集市| 德州市| 读书| 汉阴县| 罗城| 甘孜县| 策勒县| 汉中市| 广河县| 五家渠市| 罗田县| 什邡市| 营口市| 新化县| 玉门市| 日照市| 格尔木市| 萝北县| 襄城县| 易门县| 拉孜县| 西和县| 尖扎县| 惠东县| 建湖县| 扶风县| 西平县| 阿拉善盟| 桂林市| 虹口区| 蓬安县| 保德县| 怀化市| 岐山县| 同德县| 乌海市| 常州市| 灌南县| 崇阳县| 南乐县| 嵊州市| 五大连池市| 淮安市| 曲沃县| 汉中市| 县级市| 大丰市| 平罗县| 安吉县| 宁明县| 额敏县| 合作市| 五台县| 芜湖市| 余江县| 上虞市| 右玉县| 莎车县| 大理市| 日照市| 张家口市| 柳州市| 阳城县| 慈利县| 芷江| 平武县| 宽甸| 林周县| 赣榆县| 赣州市| 望奎县| 遵化市| 特克斯县| 攀枝花市| 东平县| 丹阳市| 余庆县| 平潭县| 循化| 乌兰浩特市| 温泉县| 涟源市| 汤原县| 祁东县| 白水县| 柯坪县| 建水县| 四川省| 凤庆县| 凌云县| 赣州市| 开原市| 大姚县| 聂荣县| 高青县| 云龙县| 海门市| 册亨县| 偏关县| 高密市| 南宫市| 苏尼特右旗| 吉水县| 溆浦县| 邵阳县| 宜黄县| 阜宁县| 崇文区| 广河县| 泗水县| 栾城县| 葵青区| 沁阳市| 中卫市| 鄂托克前旗| 天等县| 崇礼县| 柳林县| 洛宁县| 汉川市| 成都市| 金川县| 云浮市| 屏东市| 遵义县| 寿光市| 海伦市| 乐昌市| 湾仔区| 当涂县| 应城市| 襄垣县| 湖州市| 鹤峰县| 龙川县| 柳江县| 博爱县| 延吉市| 准格尔旗| 赤水市| 博客| 大余县| 台东县| 滦南县| 英吉沙县| 同德县| 离岛区| 新兴县| 土默特右旗| 仙居县| 云和县| 忻州市| 孟津县| 洱源县| 嵊州市| 太湖县| 渝中区| 赞皇县| 黎川县| 江阴市| 奉化市| 乌拉特中旗| 承德县| 绥宁县| 娱乐| 林口县| 屏东县| 天峻县| 海口市| 许昌市| 绍兴县| 西平县| 巴东县| 贵定县| 弥渡县| 叶城县| 云南省| 淮阳县| 汪清县| 涞源县| 平南县| 珲春市| 苗栗市| 西充县| 武川县| 宾阳县| 乃东县| 铜山县| 平远县| 百色市| 巴塘县| 滦平县| 溧阳市| 长寿区| 广饶县| 怀远县| 睢宁县| 千阳县| 贵溪市| 延庆县| 祥云县| 宣化县| 梅州市| 大名县| 肇庆市| 嘉黎县| 康定县| 和硕县| 万荣县| 赤壁市| 华蓥市| 江门市| 京山县| 修水县| 公主岭市| 时尚| 临桂县| 枞阳县| 沧州市| 凤凰县| 墨玉县| 富阳市| 祁阳县| 丹巴县| 北辰区| 瑞安市| 宜春市| 彭山县| 岗巴县| 山阳县| 青神县| 孝昌县| 新民市| 新源县| 璧山县| 濮阳县| 板桥市| 平度市| 涿州市| 九龙坡区| 专栏| 太保市| 永定县| 驻马店市| 基隆市| 红桥区| 娱乐| 涪陵区| 东明县| 昌图县| 陈巴尔虎旗| 奈曼旗| 喀什市| 聊城市| 天镇县| 金阳县| 大庆市| 遵义市| 白沙| 沁源县| 卢氏县| 大理市| 嘉义县| 泽库县| 前郭尔| 东丽区| 阳曲县| 尖扎县| 游戏| 衡南县| 泰安市| 铜陵市| 铜川市| 木兰县| 银川市| 怀集县| 沁水县| 惠东县| 景泰县| 新巴尔虎右旗| 黔西县| 北京市| 乌拉特后旗| 大埔县| 田东县| 芦山县| 芦山县| 湟中县| 白银市| 安宁市| 监利县| 阳高县| 韩城市| 宁安市| 宜兰县| 三门峡市| 堆龙德庆县| 怀化市| 资中县| 墨江| 丹阳市| 雅江县| 板桥市| 志丹县| 那曲县| 绥江县| 礼泉县| 富源县| 南召县| 白山市| 新营市| 嘉祥县| 屏东县| 尉氏县| 白朗县| 平定县| 屏山县| 饶阳县| 鹤壁市| 贵州省| 玉门市| 九寨沟县| 江孜县| 彰化县| 葵青区| 壶关县| 察隅县| 岳阳市| 宿松县| 曲麻莱县| 恩平市| 姜堰市| 绵阳市| 长宁区| 贵州省| 杨浦区| 廉江市| 乐山市| 台湾省| 怀仁县| 镇平县| 衡阳县| 民权县| 铜鼓县| 将乐县| 曲阳县| 横山县| 崇州市| 洞头县| 吐鲁番市| 邵阳市| 台中市| 东阿县| 景东| 平远县| 彰化市| 通化县| 曲阜市| 荔波县| 易门县| 陕西省| 易门县| 汉川市| 辽宁省| 浮山县| 库车县| 南部县| 多伦县| 美姑县| 宁河县| 博爱县| 玉溪市| 富川| 沙雅县| 鹿泉市| 克什克腾旗| 加查县| 那曲县| 兴仁县| 灵山县| 思南县| 沙洋县| 南丰县| 乌兰浩特市| 密云县| 固始县| 孟连| 临清市| 肃南| 瑞安市| 望谟县| 嘉峪关市| 隆安县| 唐山市| 将乐县| 肥城市| 惠州市| 漯河市| 平潭县| 漠河县| 桐庐县| 新竹县| 青海省| 浦县| 北宁市| 盐源县| 敦化市| 共和县| 通榆县| 勐海县| 青龙| 军事| 乌拉特后旗| 邵阳市| 那坡县| 修武县| 于都县| 利辛县| 扎兰屯市| 通辽市| 竹北市| 神农架林区| 翁牛特旗| 怀仁县| 贵南县| 姜堰市| 错那县| 肃宁县| 湖口县| 阿合奇县| 漳州市| 隆回县| http://www.gehxsq.fit http://wnvycw.fit http://wap.ssheoz.fit http://www.nnrlfe.fit http://www.vvmttw.fit http://m.gclryp.fit http://m.mjfnyg.fit http://wap.ozchjf.fit http://wap.ltjjxi.fit http://mghdxm.fit http://wap.tarfxo.fit http://wap.wvsylq.fit http://wap.iwonbz.fit http://qppdza.fit http://www.bm1961nickz.fit http://www.xnjpcz.fit http://m.reisxg.fit http://m.sjddrn.fit