abc288F - Integer Division

F - Integer Division
挺有意思的一道题,
贪心的做法就是排序之后,逐个加入,如果不能被之前的表示则加入
题解证明的话大概是这样

考虑第i个数选不选
首先加入前面选的数,如果能够表示当前的数,则必然不选

否则前面的数不能表示当前的数,假如我们不选pi
假设最后得到一个合法序列,则必然能够表示pi

x1x2x3...xm=pi

pix2x3...xm=x1

且其中必定有一个数的位置大于i,不妨设为x1
那么根据上面的柿子,任意一个需要x1表示的数,都可以用上面的柿子替代,而pi的代价要更小,所以应当直接选择。

#include<algorithm>
#include<cstdio>
#include<cstring>
#define fo(i,a,b) for (int (i)=(a);(i)<=(b);(i)++) //
#define fd(i,b,a) for (int (i)=(b);(i)>=(a);(i)--)
#define mk(x,y) make_pair((x),(y))
#define A puts("YES")
#define B puts("NO")

using namespace std;
typedef double db;
typedef long long ll;

const int N=1e5+5;
struct node{
	ll x,id;
};
node a[N];

ll n,ans;
bool vis[N];
ll c[N],r;
bool cmp(node a,node b){
	return a.x<b.x;
}
int main()
{
//	freopen("data.in","r",stdin);
	
	scanf("%lld",&n);
	n=(1<<n)-1;
	fo(i,1,n) {
		scanf("%lld",&a[i].x);
		a[i].id=i;
	}
	sort(a+1,a+n+1,cmp);
	
	r=1;
	c[1]=0;
	fo(i,1,n) {
		int z=a[i].id,y;
		if (vis[z]) continue;
		ans+=a[i].x;
		fo(j,1,r) {
			y=c[j]^z;
			vis[y]=1;
			c[j+r]=y;
		}
		r*=2;
	}
	printf("%lld",ans);
	
	
	return 0; 

}

 
    
posted @   gan_coder  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
  1. 1 青春コンプレックス 結束バンド
  2. 2 ギターと孤独と蒼い惑星 結束バンド
  3. 3 星座になれたら 結束バンド
  4. 4 恋のうた (feat. 由崎司) 鬼頭明里
  5. 5 月と星空 カノエラナ
  6. 6 Cagayake!GIRLS[5人Ver.] (TV size Ver.) 桜高軽音部
  7. 7 不可思議のカルテ 不可思議のカルテ
  8. 8 優しさの理由 ChouCho
優しさの理由 - ChouCho
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : こだまさおり

作曲 : 宮崎誠

编曲 : 宮崎誠

退屈な窓辺に吹き込む風に

顔をしかめたのは

照れくささの裏返し

曖昧にうなずく手のひらの今日

描いてる自分は少し大げさで

何か変わりそうな気がしている鑋00:41.081]心に呼びかける君のせいだね

曇り空 のぞいた予感

手をのばそう

いつよりも力強い勇気で

光も影もまだ遠くて

それでも僕らは

優しさの理由が知りたい

今は誰の名前でもない

輝きの彼方へ

全部過去になる前に

見つけに行こう

この世界はまるで頼りないねと

うそぶく僕の目をからかうよう薣01:47.578]君が見てる空は何色だろう?

きっと青く高く清らかなはず

すれ違い 近づきながら

いつの日か

戸惑いも受け止めていけたら

言葉のままじゃもどかしくて

だから何度でも

不器用に重ねてしまうね

喜びも悲しみもここで

意味が生まれること

ふたり気づきはじめてる

その理由も

言葉のままじゃもどかしくて

何度でも

不器用に重ねてしまうよ

声にならない切なさごと

この想い 君に届け

光も影もまだ遠くて

それでも僕らは

優しさの理由が知りたい

今は誰の名前でもない

輝きの彼方へ

全部過去になる前に

見つけに行こう

点击右上角即可分享
微信分享提示