Algoritmo de Daliy (Matemáticas, avaricia, pensamiento) -día 63

Nada que temer

esos momentos en que te levantas temprano y trabajas duro; esos momentos en que te quedas despierto hasta tarde y trabajas duro; esos momentos en los que no tienes ganas de trabajar, estás demasiado cansado, no quieres esforzarte, pero lo haces de todos modos. Ese es en realidad el sueño. Ese es el sueño No es el destino, es el viaje. Y si ustedes pueden entender eso, lo que verán suceder es que no cumplirán sus sueños, sus sueños no se harán realidad, algo más grande lo hará. mamba fuera


El arduo trabajo que realizas temprano en la mañana y tarde en la noche, no quieres entrenar. Cuando te sientes demasiado cansado pero todavía tienes que apretar los dientes, persigue tus sueños, no te importa cuál sea el final y disfruta del viaje, tal vez no puedas Alcanza tus sueños, pero debe haber cosas más importantes a seguir. mamba fuera ~

2020.4.22


Suma constante de palíndromo

Ocupa mañana para completar el proceso

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <cassert>
#include <string>
#include <cmath>
#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define lowbit(x) (x & -x)
using namespace std;
typedef long long ll;
const int N = 200005;
const int MAX = 0x7ffffff;
int t;
void slove()
{
	int n , k;
	cin >> n >> k;
	vector<int> a(n+1);
	for(int i = 0;i < n ; ++i)cin >> a[i];


	// cnt 数组用于记录 a[i] + a[n-i+1] 出现了多少次
	vector<int> cnt(2 * k + 1);
	for(int i = 0;i < n / 2; ++i)
	{
		++ cnt[a[i] + a[n-i-1]];
	}
	
	// 得到假设替换这个数这个数可以得到替换得区间
	
	vector<int> pref(2 * k + 2);
	for(int i = 0;i < n / 2;i ++)
	{
		int l1 = 1 + a[i],r1 = k + a[i];
		int l2 = 1 + a[n-i-1],r2 = k + a[n-i-1];
		if(max(l1,l2) <= min(r1,r2))
		{
			++pref[min(l1, l2)];
			--pref[max(r1, r2) + 1];
		}else continue;
	}

	for(int i = 1;i <= 2 * k + 1; ++ i)
	{
		cout << pref[i] << " ";
		pref[i] += pref[i-1];
	}
	cout << endl;
	for(int i = 1;i <= 2 * k + 1; ++ i)
	{
		cout << pref[i] << " ";
	}
	cout << endl;
	int ans = 1e9;

	for(int sum = 2; sum <= 2 * k ; ++ sum)
	{
		ans = min(ans , (pref[sum] - cnt[sum]) + 
			(n / 2 - pref[sum]) * 2 );
	}
	cout << ans << endl;
}
int main()
{
	SIS;
	cin >> t;
	while(t--)
	{
		slove();
	}
}

Juego de Kana and Dragon Quest

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <cassert>
#include <string>
#include <cmath>
#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define lowbit(x) (x & -x)
using namespace std;
typedef long long ll;
const int MAX = 0x7ffffff;
int t;

void slove()
{
	int n , x , m;
	cin >> x >> n >> m;
	while(x > m * 10)
	{
		if(n == 0)
		{
			cout << "NO" << endl;
			return;
		}
		if(n != 0){
			x = x / 2 + 10;
			n--;
		}
	}
	cout << "YES" << endl;
	return ;
}
int main()
{
	SIS;
	cin >> t;
	while(t--)
	{
		slove();
	}
}

Ichihime y Triángulo

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <cassert>
#include <string>
#include <cmath>
#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define lowbit(x) (x & -x)
using namespace std;
typedef long long ll;
const int MAX = 0x7ffffff;
int t;

void slove()
{
	int a, b , c  ,d;
	cin >> a >> b >> c >> d;
	cout << b << " " << c << " " << c << endl;
}
int main()
{
	SIS;
	cin >> t;
	while(t--)
	{
		slove();
	}
}

Supongo que te gusta

Origin www.cnblogs.com/wlw-x/p/12757948.html
Recomendado
Clasificación