Program Listing for File SequenceProblems.h
↰ Return to documentation for file (ADS/optimization/SequenceProblems.h)
/*--------------------------------------------------------------------------*/
/*------------------------ File SequenceProblems.h -------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/
#ifndef __ADS_SequenceProblems
#define __ADS_SequenceProblems
/* self-identification: #endif constant */
/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/Contract.h"
#include <algorithm>
#include <concepts>
#include <cstddef>
#include <functional>
#include <unordered_map>
#include <utility>
#include <vector>
/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/
namespace ADS {
template< class T >
T trappingRainWater( const std::vector< T > & h );
template< std::integral T >
std::vector< T > largestDivisibleSubset( std::vector< T > A );
template< class T >
T maxSumIncreasingSubsequence( const std::vector< T > & A );
template< class T , class Less >
std::vector< std::size_t > longestChainSubsequence(
const std::vector< T > & S , Less less );
template< class T , class Hash = std::hash< T > >
std::pair< std::size_t , std::size_t > longestDistinctSegment(
const std::vector< T > & A );
/*--------------------------------------------------------------------------*/
} // end( namespace ADS )
/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/optimization/impl/SequenceProblems.tpp"
/*--------------------------------------------------------------------------*/
#endif /* SequenceProblems.h included */
/*--------------------------------------------------------------------------*/
/*---------------------- End File SequenceProblems.h -----------------------*/
/*--------------------------------------------------------------------------*/