首页 > 其他分享 >2022.10.26 总结

2022.10.26 总结

时间:2022-10-26 14:57:49浏览次数:77  
标签:总结 node 26 int scanf 合法 -- logm 2022.10

CF1742G

考虑拆位,先把高位的填成 1 ,后面再考虑填上低位的。
把每一位能填的数存进数组里。
从高位往低位填,每一位填时,尽量把低位也顺便填上。

code
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10,logm=32;
int n,a[N],t,res[N],w[logm],vis[N];
struct node {
	int id,v;
};
bool cmp(node x,node y) {
	return x.v>y.v;
}
vector<node> v[logm];
int main() {
	scanf("%d",&t);
	for(; t; t--) {
		for(int i=logm-1; i>=0; i--) v[i].clear();
		scanf("%d",&n);
		for(int i=1; i<=n; i++) {
			scanf("%d",&a[i]);
			for(int j=0; j<logm; j++) {
				if(a[i]&(1<<j)) {
					node f;
					f.id=i; f.v=a[i];
					v[j].push_back(f);
				}
			}
		}
		memset(w,0,sizeof(w));
		int tot=0;
		for(int i=logm-1; i>=0; i--) {
			if(w[i]) continue;
			int q=0;
			for(int k=0; k<logm; k++) if(!w[k]) q|=1<<k;
			for(int j=0; j<v[i].size(); j++)
				v[i][j].v&=q;
			sort(v[i].begin(),v[i].end(),cmp);
			if(v[i].size()) {
				res[++tot]=v[i][0].id;
				for(int j=0; j<logm; j++) {
					if(a[res[tot]]&(1<<j)) w[j]=1;
				}
			}
		}
		memset(vis,0,sizeof(vis));
		for(int i=1; i<=tot; i++) {
			printf("%d ",a[res[i]]);
			vis[res[i]]=1;
		}
		for(int i=1; i<=n; i++) {
			if(!vis[i]) printf("%d ",a[i]);
		}
		puts("");
	}
	return 0;
}

CF1741E

考虑 DP,设 \(f_i\) 是以 \(i\) 结尾的序列是否合法。
若 \(f_{i-1}\) 合法,则 \(f_{i+a_i}\) 合法。
若 \(f_{i-a_i-1}\) 合法,则 \(f_i\) 合法。

code
#include<bits/stdc++.h>
using namespace std;
const int N=200010;
int g,n,a[N];
bool f[N];
int main() {
	scanf("%d",&g);
	for(; g; g--) {
		scanf("%d",&n);
		f[0]=1;
		for(int i=1; i<=n; i++) scanf("%d",&a[i]);
		for(int i=1; i<=n; i++) f[i]=0;
		for(int i=1; i<=n; i++) {
			int p=i-a[i],q=i+a[i];
			if(p>=1) f[i]|=f[p-1];
			if(q<=n) f[q]|=f[i-1];
		}
		puts(f[n]?"yes":"no");
	}
	return 0;
}

标签:总结,node,26,int,scanf,合法,--,logm,2022.10
From: https://www.cnblogs.com/Simon-Gao/p/16828340.html

相关文章

  • 史上最全软件测试工程师常见的面试题总结(七)【多测师】
     1.你们用jemter怎么接口测试 ==》多测师_王sir原创  2.需求评审,了解需求,输出测试,编写测试用例,在项目研发中他的时间点是什么时候  3.Rf里面有什么框架  4.rf......
  • Jinja2 使用方法总结
    一、渲染模版要渲染一个模板,通过​​render_template​​方法即可。@app.route('/about/')defabout():#returnrender_template('about.html',user='username')return......
  • java8 Optional使用总结
    原文地址:https://www.cnblogs.com/kingsonfu/p/11009574.html【前言】 java8新特性java8函数接口java8lambda表达式Java8时间日期使用 java8推出的Optional的......
  • 前端一面高频vue面试题总结
    对VueSSR的理解Vue.js是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出Vue组件,进行生成DOM和操作DOM。然而,也可以将同一个组件渲染为服务端的HTML字......
  • 史上最全软件测试工程师常见的面试题总结(六)【多测师】
     ......
  • [Java]String.split()分割字符串总结
    publicString[]split(Stringregex)publicString[]split(Stringregex,intlimit)regex代表正则表达式limit参数limit>0:最多匹配limit-1次,得到长为limit的数组,......
  • cmd 中常用 Command 总结
    1-输出内容重定向:cmd中有时需要将输出的内容重定向到本地的txt文本中,此时可以使用>或>>,>直接覆盖之前的内容:Test.exe>out.txt将输出的内容写入out.txt文......
  • Maven使用中的问题总结
    Idea配合Maven使用中有时遇到莫名奇妙的问题,又莫名奇妙的恢复正常。整理三板斧如下:1、删除系统环境变量Maven_Home,只需在IDEA中指定Maven及settings.xml即可。  有......
  • MyBatis 从入门到放弃 ( MyBatis基础总结 )
    目录MyBatis历史Mybatis特性MyBatis下载和其它持久化层技术对比开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加......
  • Java知识26 多态 (重点巩固)【多测师】
    一、多态多态就是同一个行为有多个不同表现形式和形态的能力比如:flash界面按F1按键弹出是AS3帮助文档在Word下弹就是Word帮助二、多态存在的三个必要条件继承、重写、父类......