Compare commits

..

No commits in common. "cdc9464526e968ef102c1a4fb8d2f8bcd7a2b2df" and "a1480a359aa9d92551eece1f612fb9f8a169a3d0" have entirely different histories.

2 changed files with 0 additions and 94 deletions

View File

@ -1,31 +0,0 @@
#include <algorithm>
#include <cstdint>
#include <iostream>
#include <istream>
using ll = int;
// const ll max_n = (ll)1e6+5;
// ll a[max_n], f[max_n];
int main(){
std::iostream::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr);
ll n;
std::cin>>n;
const ll max_n = (ll)5e3+5;
ll *a = new ll[max_n], *f = new ll[max_n];
for(ll i{1};i<=n;i++){
std::cin>>a[i];
}
std::fill(f, f+max_n, 1);
ll max{};
for(ll i{2};i<=n;i++){
for(ll j{1};j<i;j++){
if(a[i]>a[j]){
f[i] = std::max(f[i], f[j]+1);
}
}
max = std::max(max, f[i]);
}
std::cout<<max<<'\n';
}

View File

@ -1,63 +0,0 @@
#include <algorithm>
#include <bitset>
#include <cstdint>
#include <iostream>
#include <istream>
#include <queue>
#include <utility>
#include <vector>
using ll = int64_t;
int main(){
std::iostream::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr);
const ll max_n = 1e5+5;
ll n;
std::cin>>n;
auto *edge = new std::vector<ll>[max_n];
ll a, b;
for(ll i{1}; i<n; i++){
std::cin>>a>>b;
edge[a].push_back(b);
edge[b].push_back(a);
}
std::queue<std::pair<ll, ll>> q;
q.emplace(0, a);
std::bitset<max_n> vis;
vis[a]=true;
ll max_a{}, max{};
while(!q.empty()){
auto top = q.front();
q.pop();
if(top.first > max){
max = top.first;
max_a = top.second;
}
for(auto &i:edge[top.second]){
if(vis[i]){
continue;
}
q.push({top.first + 1, i});
vis[i] = true;
}
}
q = std::queue<std::pair<ll, ll>>();
q.emplace(0, max_a);
vis.reset();
vis[max_a]=true;
ll ans{};
while(!q.empty()){
auto top = q.front();
q.pop();
ans = std::max(ans, top.first);
for(auto i: edge[top.second]){
if(vis[i]){
continue;
}
q.push({top.first+1, i});
vis[i] = true;
}
}
std::cout<<ans<<'\n';
}