2020-06-29 hasta 2020-07-02

2020-06-29

  • Compré una almohada. (Espero llegar temprano)
  • Ambas comidas se tomaron en la cafetería.
  • La escultura de arena con la que contribuí al desconcertante comportamiento fue aceptada.
  • Sal a correr por la noche.

Codeforces Ronda # 653 (Div.3)

E2 - Libros de lectura (versión dura)

Similar a mi idea de E1 de ayer. (El título está destinado a ser ayer)

Aún hay que dividirlo en cuatro categorías, enumerando principalmente la cantidad de libros que tanto gustan p3.

Entonces los libros que gustan individualmente deben seleccionarse al menos k-p3.

Si todavía hay menos de m libros, estaremos ansiosos por elegir entre los libros que a nadie le gustan y que nos gustan solos.

Use un poco de habilidad en programación para optimizar, la complejidad no será grande.

Estoy .size()atascado. Tenga en cuenta que el compilador interpreta el tipo general size_t como un tipo sin firmar. Si participa en operaciones lógicas, todos los valores se convertirán en operaciones de tipo sin signo. Esto hace que los números negativos provoquen accidentes.

/**
  *    █████╗  ██████╗       ██████╗ ██╗     ███████╗
  *   ██╔══██╗██╔════╝       ██╔══██╗██║     ╚══███╔╝
  *   ███████║██║            ██████╔╝██║       ███╔╝
  *   ██╔══██║██║            ██╔═══╝ ██║      ███╔╝
  *   ██║  ██║╚██████╗▄█╗    ██║     ███████╗███████╗
  *   ╚═╝  ╚═╝ ╚═════╝╚═╝    ╚═╝     ╚══════╝╚══════╝
  *
  *  @Author: TieWay59
  *  @Created: 2020/6/29 15:46
  *  @Link: https://codeforces.com/contest/1374/problem/E2
  *  @Tags:
  *
  *******************************************************/

#include <bits/stdc++.h>

#ifdef DEBUG

#   include "libs59/debugers.h"
//  #define debug(x)  cerr <<#x << " = "<<x<<endl;
#else
#   define endl '\n'
#   define debug(...)
#   define max(x,y) ((x)>(y)?(x):(y))
#   define min(x,y) ((x)>(y)?(y):(x))
#endif

#define STOPSYNC ios::sync_with_stdio(false);cin.tie(nullptr)
#define MULTIKASE int Kase=0;cin>>Kase;for(int kase=1;kase<=Kase;kase++)
#define SIZE(x)  int((x).size())
typedef long long ll;
const int MAXN = 2e5 + 59;
const int MOD = 1e9 + 7;
const int INF = 0x3F3F3F3F;
const ll llINF = 0x3F3F3F3F3F3F3F3F;
using namespace std;
using pii = pair<ll, ll>;
using vint = vector<int>;


void solve(int kaseId = -1) {
    int n, m, k;
    cin >> n >> m >> k;
    vector<vector<pii>> a(4);

    for (int i = 1; i <= n; ++i) {
        ll ti, ai, bi;
        cin >> ti >> ai >> bi;
        a[ai << 1 | bi].emplace_back(ti, i);
    }

    for (auto &ai : a) {
        sort(ai.begin(), ai.end());
    }

    auto sum(a);

    for (auto &ai : sum) {
        int pre = 0;
        for (auto &aij : ai) {
            aij.first += pre;
            pre = aij.first;
        }
    }


    int p0 = 0;
    int p1 = 0;
    int p2 = 0;
    ll ans_val = llINF;
    vint ans_ps;

    auto get_time = [&a](const int &tp, const int &ps) -> ll {
        if (ps >= SIZE(a[tp])) return llINF;
        return a[tp][ps].first;
    };

    for (int p3 = min(m, (int) a[3].size()); p3 >= 0; --p3) {
        if (k - p3 > min(SIZE(a[1]), SIZE(a[2]))) continue;
        if (m - p3 > SIZE(a[0]) + SIZE(a[1]) + SIZE(a[2])) continue;
        if (m - p3 < (k - p3) * 2) continue;

        ll t = p3 > 0 ? sum[3][p3 - 1].first : 0ll;

        p2 = max(p2, k - p3);
        p1 = max(p1, k - p3);
        p0 = min(p0, m - p3 - p2 - p1);

        while (p3 + p2 + p1 + p0 < m) {
            ll x2 = get_time(2, p2);
            ll x1 = get_time(1, p1);
            ll x0 = get_time(0, p0);
            if (x0 <= min(x1, x2)) p0++;
            else if (x1 <= min(x0, x2)) p1++;
            else p2++;
        }

        if (p2) t += sum[2][p2 - 1].first;
        if (p1) t += sum[1][p1 - 1].first;
        if (p0) t += sum[0][p0 - 1].first;

        if (t < ans_val) {
            ans_val = t;
            ans_ps = {p0, p1, p2, p3};
            debug(ans_ps);
        }
    }

    if (ans_val == llINF) {
        cout << -1 << endl;
    } else {
        cout << ans_val << endl;
        for (int i = 0; i < 4; ++i) {
            for (int j = 0; j < ans_ps[i]; ++j) {
                cout << a[i][j].second << " ";
            }
        }
        cout << endl;
    }
}

void solves() {
    MULTIKASE {
        solve(kase);
    }
}

int main() {
#ifdef DEBUG
    freopen("input.txt", "r+", stdin);
#endif
    STOPSYNC;

    solve();
    return 0;
}
/*

 */

F es aburrido. Mañana arreglaré el puente azul.

2020-06-30

  • Organiza las cosas en la Copa Lanqiao.
  • Oferta de Niu Ke Jian Zhi
  • ¿Byte latiendo? (Pregúntale a la hermana mayor (Vaya, es demasiado difícil, un poco de ensueño).
  • Academia de datos? (Sin aviso (viniendo aquí).
  • El profesor de Snowkylin.github.io , Xue, también es demasiado bueno, lo adoro.
  • Voy a limpiar mañana. De vuelta a la vida en la sala de ordenadores.
  • Escribí dos preguntas y troté por la noche, así que hablaré de eso mañana.

2020-07-01

  • Fui a limpiar la sala de computadoras temprano en la mañana y descubrí que muchas personas se estaban yendo.
  • Compré un miembro de 30 días de Likou y me divertí.
  • He resuelto muchas preguntas difíciles, pero no es demasiado difícil.
  • Presioné div2, pero no parece ser muy bueno en ==. (Quiero aprender E y F)
  • Corrí de noche y arreglé la red en la sala de computadoras, lo cual fue bueno.
  • Ve a la sala de ordenadores para pegar el código QR mañana a las nueve.
  • Cupones fuertes 717 mañana a las 8 en punto.
  • Ha pasado un día y mañana continuaremos con nuestros esfuerzos.

Lo que no me mata me hace más fuerte

De Wikipedia, la enciclopedia libre

Saltar a navegación Saltar a búsqueda

Lo que no me mata me hace más fuerte (en alemán Was mich nicht umbringt macht mich stärker ) es parte del aforismo número 8 de la sección “Máximas y flechas” de El crepúsculo de los ídolos de Friedrich Nietzsche (1888). En su totalidad, es:

De la escuela de la vida de guerra. - Lo que no me mata me hace más fuerte.
Fuera de la escuela de guerra de la vida - Lo que no me mata me hace más fuerte.

Es citado o aludido por muchas otras obras, con variantes menores en la redacción.

wiki

Conferencia de movilización de aprendices profesionales

Permítanme resumir el contenido de la reunión:

  • Si los cursos de prácticas profesionales son rechazados, aún deben seleccionarse. Infórmeme el nombre de la identificación del estudiante y lo ayudaré a presentar su solicitud.
  • Los estudiantes cuyas calificaciones se pospongan se agregarán más tarde y no se verán afectados.
  • Escriba el formulario de solicitud de extensión cuando tenga tiempo y entréguelo a la Oficina de Asuntos Académicos (debe encontrar al maestro Zhou Ying), y envíelo a más tardar la primera semana de clases.
  • El período de prácticas debe comenzar en septiembre y necesitamos al menos 10 semanas (preste atención para completar los materiales).
  • La plataforma está en la pandilla de exalumnos, y la mayoría de los materiales se pueden descargar en la pandilla de exalumnos.
  • Realmente no puedo encontrar una pasantía, así que vaya a la Oficina de Asuntos Académicos para comunicarme con el maestro.
  • Requieren que el puesto de pasantía esté relacionado con la especialidad, porque sus materiales serán revisados ​​por el director profesional, y es posible que no apruebe la solicitud si cree que no es posible.

2020-07-02

  • Publiqué el código QR en la sala de computadoras por la mañana (lo publiqué al revés en cuatro lugares)
  • Leetcode hizo dos preguntas.
  • Fui a recoger al mensajero y me compré una almohada nueva, feliz. (Chen Ju creía en una serie de teorías sobre el cuidado del cabello con peine, y yo comencé a creerlo).
  • Hoy llovió mucho y llovió mucho, y fue muy triste salir.
  • Ver la Blue Bridge Cup 2019B por la noche .
  • Hay demasiada agua en el medio, por lo que habrá menos agua en el futuro.
  • No hay nada especial que grabar. (Arrastrando el remate de la Copa Blue Bridge)
  • ¿ Expresión media / postfija ?

Dar una vuelta

Accidentalmente vi una biblioteca py, Fabric, que también tiene el concepto de decorador¶ . Esto me hace sentir que es necesario aprender patrones de diseño, después de todo, puedo percibir cómo es esto.

Notación del plan

考研计划书
项目概述
项目内容
立项依据
项目意义
项目内容及目标
项目可行性分析
项目初始方案
项目规划
项目预算
参考

enlace

Supongo que te gusta

Origin blog.csdn.net/Tighway/article/details/107097041
Recomendado
Clasificación