F - Contrast 两个数组对比 通过交换位置 =》a[i]!=b[i]

这题也不知道怎么证。。叫他直觉题。

凭直觉 应该是怎么做。。?

就是把b数组翻转 。然后把中间部分 转移到 旁边不相等的位置。。

这题主要有一个遍历技巧
🔥a[i] != a[l] && b[i] != a[l] && l <= r 很好的定义了那些可以置换的i位置

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll __int128_t
#define ar array<int, 2>
#define arr array<int, 3>
int  n, m, k, inf = 1LL << 61, mod = 998244353;// 1e9+7;
const int N = 5e5 + 50;

void solve() {
	cin >> n;
	int a[n], b[n];

	auto out = [&]() {cout << "Yes\n"; for (int &x : b)cout << x << " "; exit(0);};

	for (int &x : a)
		cin >> x;
	for (int &x : b)
		cin >> x;
	reverse(b, b + n);

	int l = -1, r;
	for (int i = 0; i < n; ++i)
		if (a[i] == b[i]) {
			if (l < 0)
				l = i;
			r = i;
		}

	if (l == -1)out();

	for (int i = 0; i < n; ++i)
		if (a[i] != a[l] && b[i] != a[l] && l <= r) {
			swap(b[i], b[l]);
			l++;
		}

	if (l <= r) {
		cout << "No";
		return ;
	}

	out();
};


// 正排 逆排。。
// 遍历有个技巧。。



signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout << fixed << setprecision(15);
#ifdef DEBUG
	freopen("../1.in", "r", stdin);
#endif
	//init_f();
	//init();
	//expr();
	// int T; cin >> T; while(T--)
	solve();
	return 0;
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这段代码看起来像是在使用 DESeq2 进行差异分析。具体来说,`dds` 可能是一个 DESeqDataSet 对象,`contrast` 参数则指定了比较的条件和组别。这里比较的是条件为 B 和 C 之间的差异。`results()` 函数会返回差异表达分析的结果,包括基因名、log2FC、p 值和调整后的 p 值等。 ### 回答2: res <- results(dds, contrast = c("conditions","B","C")) 是一段R语言代码,用于从一个DESeq2对象中获取指定条件的差异表达基因结果。下面对这段代码进行解释: - `res` 是一个变量名,用来存储结果。 - `results()` 是DESeq2包中的一个函数,用于生成差异表达基因结果。 - `dds` 是一个DESeqDataSet对象,用于存储RNA-seq数据和相关信息。 - `contrast = c("conditions", "B", "C")` 是results()函数的参数,用于指定需要进行比较的条件。 - `conditions` 是DESeqDataSet对象中存储条件信息的列名。 - "B" 和 "C" 是`conditions`列中的两个具体条件,这里代表对条件B和C进行比较。 总结:以上代码的目的是从给定的DESeq2对象中获取条件B和条件C之间的差异表达基因结果,并将结果存储在res变量中。 ### 回答3: 根据给定的代码,“res <- results(dds,contrast = c("conditions","B","C"))”是用于从独立于设计矩阵(dds)的差异分析中获取结果(res)。contrast参数指定了对比条件,这里是以“B”和“C”为比较组。该语句将返回B组和C组之间的差异结果。 在执行这句代码之前,我们需要先创建一个设计矩阵(dds)来进行差异分析。设计矩阵是用于描述实验条件和样本之间关系的矩阵。然后,通过使用contrast参数指定需要比较的组别,可以获取到不同组别之间的差异结果。 返回的结果(res)通常包含了一系列统计信息,比如差异表达的基因(基因名称或ID),差异表达的程度(fold change),统计学显著性(P值或调整的P值)等。根据具体的分析方法和参数设置,结果的格式和内容可能会有所不同。 总之,这个代码的功能是从给定的设计矩阵中比较分析不同条件之间的差异,并返回统计学上显著的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值