feat: new dp problem formatted
This commit is contained in:
97
longest-palindromic-subsequence/Makefile
Normal file
97
longest-palindromic-subsequence/Makefile
Normal file
@@ -0,0 +1,97 @@
|
||||
# Normal directories
|
||||
SRC_DIR := src
|
||||
BIN_DIR := bin
|
||||
DBG_DIR := bin/debug
|
||||
|
||||
# Grader directories
|
||||
GRADER := $(wildcard $(SRC_DIR)/grader.cpp)
|
||||
GRADER_DIR := $(SRC_DIR)/grader
|
||||
HANDLER_DIR := $(SRC_DIR)/handler
|
||||
|
||||
GRADER_SRC := $(wildcard $(GRADER_DIR)/*.cpp)
|
||||
GRADER_BIN := $(patsubst $(GRADER_DIR)/%.cpp, $(BIN_DIR)/%, $(GRADER_SRC))
|
||||
GRADER_DBG := $(patsubst $(GRADER_DIR)/%.cpp, $(DBG_DIR)/%, $(GRADER_SRC))
|
||||
|
||||
# Change CPP source directories if grader is defined
|
||||
ifdef GRADER
|
||||
SRC := $(wildcard $(HANDLER_DIR)/*.cpp)
|
||||
BIN := $(patsubst $(HANDLER_DIR)/%.cpp, $(BIN_DIR)/%, $(SRC))
|
||||
DBG := $(patsubst $(HANDLER_DIR)/%.cpp, $(DBG_DIR)/%, $(SRC))
|
||||
else
|
||||
SRC := $(wildcard $(SRC_DIR)/*.cpp)
|
||||
BIN := $(patsubst $(SRC_DIR)/%.cpp, $(BIN_DIR)/%, $(SRC))
|
||||
DBG := $(patsubst $(SRC_DIR)/%.cpp, $(DBG_DIR)/%, $(SRC))
|
||||
endif
|
||||
|
||||
SRC_C := $(wildcard $(SRC_DIR)/*.c)
|
||||
BIN_C := $(patsubst $(SRC_DIR)/%.c, $(BIN_DIR)/%, $(SRC_C))
|
||||
DBG_C := $(patsubst $(SRC_DIR)/%.c, $(DBG_DIR)/%, $(SRC_C))
|
||||
|
||||
SRC_JAVA := $(wildcard $(SRC_DIR)/*.java)
|
||||
BIN_JAVA := $(patsubst $(SRC_DIR)/%.java, $(BIN_DIR)/%.class, $(SRC_JAVA))
|
||||
DBG_JAVA := $(patsubst $(SRC_DIR)/%.java, $(DBG_DIR)/%.class, $(SRC_JAVA))
|
||||
|
||||
CHECKER := $(wildcard $(SRC_DIR)/checker.cpp)
|
||||
|
||||
C := gcc
|
||||
CPP := g++
|
||||
CXX_FLAGS := -Wall -O2
|
||||
DEBUG_FLAGS := -Wall -g
|
||||
BOCA_FLAGS := -static -DBOCA_SUPPORT
|
||||
|
||||
JV = javac
|
||||
JV_DEBUG = -g
|
||||
JV_DIR = -d bin
|
||||
JV_DBG_DIR = -d bin/debug
|
||||
|
||||
.PHONY: all debug release checker clean
|
||||
|
||||
all: debug release checker
|
||||
|
||||
debug: $(DBG) $(DBG_C) $(DBG_JAVA) $(GRADER_DBG)
|
||||
|
||||
release: $(BIN) $(BIN_C) $(BIN_JAVA) $(GRADER_BIN)
|
||||
|
||||
ifdef CHECKER
|
||||
checker: $(DBG_DIR)/checker-boca $(BIN_DIR)/checker-boca
|
||||
endif
|
||||
|
||||
$(BIN): $(BIN_DIR)/% : $(SRC_DIR)/%.cpp | $(BIN_DIR)
|
||||
$(CPP) $(CXX_FLAGS) $^ -o $@
|
||||
|
||||
$(DBG): $(DBG_DIR)/% : $(SRC_DIR)/%.cpp | $(DBG_DIR)
|
||||
$(CPP) $(DEBUG_FLAGS) $^ -o $@
|
||||
|
||||
$(BIN_C): $(BIN_DIR)/% : $(SRC_DIR)/%.c | $(BIN_DIR)
|
||||
$(C) $(CXX_FLAGS) $^ -o $@
|
||||
|
||||
$(DBG_C): $(DBG_DIR)/% : $(SRC_DIR)/%.c | $(DBG_DIR)
|
||||
$(C) $(DEBUG_FLAGS) $^ -o $@
|
||||
|
||||
$(BIN_JAVA): $(BIN_DIR)/%.class : $(SRC_DIR)/%.java | $(BIN_DIR)
|
||||
$(JV) $(JV_DIR) $^
|
||||
|
||||
$(DBG_JAVA): $(DBG_DIR)/%.class : $(SRC_DIR)/%.java | $(DBG_DIR)
|
||||
$(JV) $(JV_DEBUG) $(JV_DBG_DIR) $^
|
||||
|
||||
$(GRADER_BIN): $(BIN_DIR)/% : $(GRADER_DIR)/%.cpp $(GRADER) $(GRADER_DIR)/*.h
|
||||
$(CPP) $(CXX_FLAGS) $^ -o $@
|
||||
|
||||
$(GRADER_DBG): $(DBG_DIR)/% : $(GRADER_DIR)/%.cpp $(GRADER) $(GRADER_DIR)/*.h
|
||||
$(CPP) $(DEBUG_FLAGS) $^ -o $@
|
||||
|
||||
$(BIN_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(DBG_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(BIN_DIR)/checker-boca: $(SRC_DIR)/checker.cpp
|
||||
$(CPP) $(CXX_FLAGS) $(BOCA_FLAGS) $^ -o $@
|
||||
|
||||
$(DBG_DIR)/checker-boca: $(SRC_DIR)/checker.cpp
|
||||
$(CPP) $(DEBUG_FLAGS) $(BOCA_FLAGS) $^ -o $@
|
||||
|
||||
clean:
|
||||
@echo Cleaning problem files
|
||||
rm -rf bin
|
||||
2
longest-palindromic-subsequence/input/1
Normal file
2
longest-palindromic-subsequence/input/1
Normal file
@@ -0,0 +1,2 @@
|
||||
5
|
||||
bbbab
|
||||
2
longest-palindromic-subsequence/input/10
Normal file
2
longest-palindromic-subsequence/input/10
Normal file
@@ -0,0 +1,2 @@
|
||||
9
|
||||
szfwtzfpn
|
||||
2
longest-palindromic-subsequence/input/11
Normal file
2
longest-palindromic-subsequence/input/11
Normal file
@@ -0,0 +1,2 @@
|
||||
8
|
||||
mwrccrwm
|
||||
2
longest-palindromic-subsequence/input/12
Normal file
2
longest-palindromic-subsequence/input/12
Normal file
@@ -0,0 +1,2 @@
|
||||
4
|
||||
ivvi
|
||||
2
longest-palindromic-subsequence/input/13
Normal file
2
longest-palindromic-subsequence/input/13
Normal file
@@ -0,0 +1,2 @@
|
||||
2
|
||||
pn
|
||||
2
longest-palindromic-subsequence/input/14
Normal file
2
longest-palindromic-subsequence/input/14
Normal file
@@ -0,0 +1,2 @@
|
||||
100
|
||||
uduhznoaquudhavtncwfwujacmiggjmcmkavnjfeodxkgjgwxttxwgjgkxdoefjnbkkmdmjggfmcpjuwlncnrvahduuqaonzhudu
|
||||
2
longest-palindromic-subsequence/input/15
Normal file
2
longest-palindromic-subsequence/input/15
Normal file
@@ -0,0 +1,2 @@
|
||||
18
|
||||
dagktgdarradgtkgdd
|
||||
2
longest-palindromic-subsequence/input/16
Normal file
2
longest-palindromic-subsequence/input/16
Normal file
@@ -0,0 +1,2 @@
|
||||
58
|
||||
stulgbglwmfgzrnyxryetwzhlnfewczmnoozlqatugmdjwgzcfabbkoxyj
|
||||
2
longest-palindromic-subsequence/input/17
Normal file
2
longest-palindromic-subsequence/input/17
Normal file
@@ -0,0 +1,2 @@
|
||||
30
|
||||
mpprswkdkobdagwdwxsufeesrvncbs
|
||||
2
longest-palindromic-subsequence/input/18
Normal file
2
longest-palindromic-subsequence/input/18
Normal file
@@ -0,0 +1,2 @@
|
||||
82
|
||||
gmkzuzoootorzfskcwbqorvkdrmklfdczezfarqdkkdqhaftazcdflkmrdwvroqbwcksfzrotokozuzbeg
|
||||
2
longest-palindromic-subsequence/input/19
Normal file
2
longest-palindromic-subsequence/input/19
Normal file
@@ -0,0 +1,2 @@
|
||||
342
|
||||
vcvrjcmbqlizvjdwtuyfrxolsysxlfeypoljmqsppmhfkyunyftmwbjxsngxhwzroandfqjamzkattsliljlrkdoytpxugiceakgiakevsjocdmkfnkswrawkjxwcmcciabzbrskkazjqtekiqydptpkcsdgcqjshzndpvannryyrnnavpdnzhsjqcgdsckptpdsqikdtqjzazksrbnbaiccmcwxjkwarwsknfkmdaojsvekaighaechzuxpryljkrldlilsttpkfmgjqfdnaorvjhxgnsxebwmtdynuykfrmppsqmclcpbeflxsysloxrfyutwdjieilybmctrycv
|
||||
2
longest-palindromic-subsequence/input/2
Normal file
2
longest-palindromic-subsequence/input/2
Normal file
@@ -0,0 +1,2 @@
|
||||
4
|
||||
cbbd
|
||||
2
longest-palindromic-subsequence/input/20
Normal file
2
longest-palindromic-subsequence/input/20
Normal file
@@ -0,0 +1,2 @@
|
||||
231
|
||||
ikzmnttaifcbopnwezesomkxhaiafmvkbjaisyrbtultpnxbcjmornqumatserhieqggrivouwfnbnghdfallcprvngikcamvprzaeapqmilwkbkgogocniaaisorfqxzjztvcgvzlcedwnezbwxmpobmrvxaskwvvwquudrnwhmmzheqxiwhfuxavlwftgyxxhpygspvwdnvmgnwnpkdrnznzvrkmjjmwisyrd
|
||||
2
longest-palindromic-subsequence/input/21
Normal file
2
longest-palindromic-subsequence/input/21
Normal file
@@ -0,0 +1,2 @@
|
||||
593
|
||||
fwsjfuvmeewpdwpiymwbhoxebjibxphiefgtsawcdivtltrshjqnkkmdtjgscnozmojnhigippjemzzzbcvoyplxenffmfdzdiojuodgbulvivhtbhayeeebiactyaovqbivudydgxwsgmhlracaayipsojleqhpygshcvxwwlneblfmnqgddqpcjxzftwrlgptrkbkrlwgsnlcaudzdujbbqlfzikgxohvhtuvcjmmwvhkxcgyekjkklcjqoneppydpspiwqbkpsunedqixlsifcokfrcvrszcvdyfwuhtzptbbnxbhqjomxrbhjqxvdaserffcvkecqylqprawyquevhvuzcvfmbewpxicskpmzsbsusmaddqkwgfirlzzbczeghmuhxnxejrspcvqejwowqsfhovhctwnhuuveprriyfwstsjdecyyfjbjsdlegqlklxiyrwvlppomdfdtvtkwokiwwpejxibdknponpsxrytoqgjrtjpatmdlhmqegvjhvlehsykrlvvssmambzusxuszyybdrdvzdbexsglyokvmykifwgfncsacjlkathfmnlctsqejfoxy
|
||||
2
longest-palindromic-subsequence/input/22
Normal file
2
longest-palindromic-subsequence/input/22
Normal file
@@ -0,0 +1,2 @@
|
||||
378
|
||||
tlhrlypbzisucllqgaaitmxpmfinsowjaawsnmluizvpjbewqcipcqwvsqfbeutdcsdrviozobdytwsimseetqcklnkxtawoxiysvzrakqeispnddxtnfqalswxsmksfooiwxynamdjxnsmkiewkwdpzjpkibcbbmzbiwpmjczcehtczqjzlkgyvszpuuvetdfluuhxpeopuxmdylaysttenjmcedcumoeeicjtxkkvxcxjowrcvlttsqhwkbbmigtqlovjgviyzgcqjvpvotwucsetidicyhtcmajphxyyooeovuxvuploklpbovqdwdypbxgajuqwadgeedjkgurhsxdvylmyfjqlwzldrouylqobsgemwdoibqv
|
||||
2
longest-palindromic-subsequence/input/23
Normal file
2
longest-palindromic-subsequence/input/23
Normal file
@@ -0,0 +1,2 @@
|
||||
698
|
||||
vqopfhkqmhusxqacoogjxcoxbfzlwcxfvqaavfegkcirqqgdyhljmaqzqifuaoubukypavebvdujgsulahkprfpnzqaqgvfdxwtqflceilpmszizfwbonxplcyqittpkpbcfsesgfbiqnipolefrelphjthqrzsphbnumgrifmwiztfuhqibgaxdvysyvgxlspminykbyumepubrxuoavyovdbielzdobgqcjznjbexalkghywioxzbvxzfcshcozmefwcrvyibjdfqvqmhxdpccjodlgvkplrfdedpzoprfeechwszhvcdooejlchcwcektfrdmowhsueavbrawmihzsnfhrafbqeawdixznppfwieaivtmpqzqtsvnvwjmgvhuesssaxgmoywdgvwiouzuqdebijcqycftaftuwtgxavemciuqmxenprpmyzrexshnvtesstwhytmatxbuzxpstpygfxphpfckjdbfbximeeswyndfhomcnwjtfruvzwbhlzbvebyeucepgcdpmghcibfxgrvnacxwlopxsvzclwymwdmoljtaguwuvhxifdjqshlqaueglqrbxuwpozfvegdpvnwmedxbmxagimxmxgjlnnfkwbrqshxfcanwpoflqejafdktnlpgvlexcyglrzbkhcmxvuobyxcxzxqmlswvlmbvcsdtef
|
||||
2
longest-palindromic-subsequence/input/24
Normal file
2
longest-palindromic-subsequence/input/24
Normal file
@@ -0,0 +1,2 @@
|
||||
282
|
||||
ilwztbscfhjtcytowmliivrkbblvnmhiprferyrpjpjyochneyffmiegymajrnwjslztbxmduwtfzafkxyfmcnlusebzleggeguujmkyylfmmvviljwgcyhidldkzfzgtzmomlbeqtjsoosjtqebliomftgzfzkdldrhycgwjlivvmmflyykmjuujegyelzbesjlwxmfyxrfazftnudmxbtnlsjknrjamyfeimyfyenhckfjpbpryregrpihmnvlbbrpviilmnotyctjhfcsbtmfli
|
||||
2
longest-palindromic-subsequence/input/25
Normal file
2
longest-palindromic-subsequence/input/25
Normal file
@@ -0,0 +1,2 @@
|
||||
104
|
||||
mrakgrojgxizwxascasinzxcdxewculofitylhxhzxmjdlisupdylshahcipzoptullyisxsczjqawagnngcggiwkhnarjisvcdpzggt
|
||||
2
longest-palindromic-subsequence/input/26
Normal file
2
longest-palindromic-subsequence/input/26
Normal file
@@ -0,0 +1,2 @@
|
||||
291
|
||||
csjxeubfgyjdimtpftgytkfntylnflbfutsyovxmligoaiqzlxwfrsljucdxssamgcifdljashcjjwhlkqnipxzjglptedzxmthvzgruhhckufdecakrrzoqfqcduzhjsdaskqglqlnnbkuuytqthfcjraawtbccurpzpumcsmqhebhqrfigamblzxycvevluzcuqxvrjgekyaofvrvcohldavkjiykhccmnjpdhkkimpsmvcyqxlgwlbhldkjlzwthkfnizebvlgozrnwwvxdckgnckqtkqidh
|
||||
2
longest-palindromic-subsequence/input/27
Normal file
2
longest-palindromic-subsequence/input/27
Normal file
@@ -0,0 +1,2 @@
|
||||
921
|
||||
rpkxesldtgxtaurglbgmpyqlpzbnsbzhanbiypuziqurwrbrbxmhbrdpdrerbobajuldlwrpkrtfblspnkxyitiohlpgjlcktlaqsalnoiphbtuyrrghseznkmzukaiihatzttiylactadtninwcsufbynjkxaajnagfevscfuhoajuqmisgbbsxqbylmraszacpliuglqyuzbnizxxjxnntsckjzjzjmmyfmvxjaopvefhwhbyoapkqedyddtrpblporursknpbtamzkkzrrddcmrayglnjuikqynjaucaqekhcwxdqpdohycvaexjyulgvwtovqgsfivkvunqdekhngxjyycspvzulhkywgqjgaqclpsxnserdnrjxrozmxtjtvossyqpvotkhmbqaxiqxuxzlztksohujrtaimpdesfqjbjifgybebnuiicfjteqfvsyrwwjzissaimgcusleiacqxjipdtiljqrbldlirsiewjplnaidvvixjqtqjdozldbbeemvmveqlhjztcouostcgromekrinqbgvgljhveaonqkrtjjtlgbkrnyoixirslfszfqivgkaflgkctvbvksipwomqxlyqxhlbceuhbjbfnhofcgpgwdseffycthmlpcqejgskwjkbkbbmifnurnwyhevsoqzmtvzgfiqajfrgyuzxnrtxectcnlyoisbglpdbjbslxlpoymrcxmdtqhcnlvtqdwftuzgbdxsyscwbrguostbelnvtaqdmkmihmoxqtqlxvlsssisvqvvzotoyqryuyqwoknnqcqggysrqpkrccvyhxsjmhoqoyocwcriplarjoyiqrmmpmueqbsbljddwrumauczfziodpudheexalbwpiypmdjlmwtgdrzhpxneofhqzjdmurgv
|
||||
2
longest-palindromic-subsequence/input/28
Normal file
2
longest-palindromic-subsequence/input/28
Normal file
@@ -0,0 +1,2 @@
|
||||
935
|
||||
tuwyknlrbvuvtnhiouvqitgyfgfieonbaapyhwpcrmehxcpkijzfiayfvoxkpasyiwxmrahuwlaoovrejhpbiiqmdptefnngfztqhhifmthlxkqbhisdxbgotyspnvusldlfcnogndbcjxqdussoegpwprfussjqhkhbhphtjkywsebaavjaupvdbxfitsyojevycpxwyxfkzdesbnoacixwtrhqhfimukkdinhwyxnjkmopbhoplfmplqjyfiazkxxdmzbnduoaxjdaevibeqacbdxwrgsfvplkhfpnlpflzndtluwrigjjtthzhpowrylzzyvnatbawwxbyduusbdhbggawqvlrbmpgknzvlkeeaveklvqutzzdrqonowwvwjfxxltxmxkkpzkyfzsvyvkvnycvpnpqbribpemmayfpniwazhbjezmenvessyppasifgssfwveuxasvkmpxzvzooptvozcyqpxanftsvgluxxmwtertadxmamtxrdqnploagmmgethvbnexecqidnzpszhlhpsoemjfrdpfawnfhyquwiwnuqztlhklubmjmqimoyumbuprigzzxvkjjoxhyusuklaiympopzyvewmvqmsoisxzuhsqazgggnmruxdkvgpucmtzosjlrpdwaekoxtrawmhijizuqrlnkieylaiiymtdftxjuucjipozzhgbizwmncrcabvmqwafvmuxyybvciurgyaptmpvlcnyuhaytabvkspwisdsdspxysopdemqdgqaxuooompkysokvzzhdpmvnurnaulfutcukwgtxnqxmukbxnlidvysewbwmsnsrfpxxftmjuedksdmnbklsrnjpwvpqwmxxtffgtbdbjifnrvwztbdjrbazxotgfqvyqpgrdojjgjvqiwldvjinoeebscjci
|
||||
2
longest-palindromic-subsequence/input/29
Normal file
2
longest-palindromic-subsequence/input/29
Normal file
@@ -0,0 +1,2 @@
|
||||
258
|
||||
shvmhycoyszfexxafmkaxsxwrtfcfailjabwunylerasnhszqnhoslthjvsymbzqsjhrllovoyubxmxbyunvaadrvbujhorbyhwunrhnikrhwodlxngpqurfpiqdftenwwseifdqipfruqpgnxldowhrxinxmnuwhybroojkbvrdaavnuybxmxbuyovollrhjsqzbmusvjhtlvohnhashnskrolynuwbajlvafcftkwisxakmbaxxlfzkyocyimvhv
|
||||
2
longest-palindromic-subsequence/input/3
Normal file
2
longest-palindromic-subsequence/input/3
Normal file
@@ -0,0 +1,2 @@
|
||||
1
|
||||
a
|
||||
2
longest-palindromic-subsequence/input/30
Normal file
2
longest-palindromic-subsequence/input/30
Normal file
@@ -0,0 +1,2 @@
|
||||
616
|
||||
chqhygftvaofpxwmpmfbcfnclqexjgvzpqbxcqoskjdxwhimeuwxopzafascsxawaroblpmamklrwlznplgspuzvnubpudibptdslaagxaaacqrsfvhclaedsmlkjaqsoqgfpovigxfvhltpwptojsardozogrltulberiywireebjddkdhpyleypylevvglkckubmygxzqmeeyehjehknbkprsvdgjoizzgjszebtaqqgzwyfgdcbkdgxzurjpoahrhdpqexzsrpgvdutabogkwkuehfzwhvamsntzuvcrqzplxhykiaoapjzkznmlsnezsskdlosiyfawaznbuwenovcsfkfuhntglvesxsrrnzkbhzkhzmvkjevsrbdiclckmsgpgngyckzvgysvwcgwayjokqactfxtivfbdwprufivtggzhbpvlxfkisdneogdseenjlewrobjhpppjczyxeaiqanaztksnpfwyhdjvipgwzznmnnxwraiieicscdhryzvrhtoprratxufcithokiogudggzpvjctbahnzdwtokiatsriqzwedrrfzbrkgvynbbfomoiawwmmjiqvhdlnsvwnwbktehykev
|
||||
2
longest-palindromic-subsequence/input/31
Normal file
2
longest-palindromic-subsequence/input/31
Normal file
@@ -0,0 +1,2 @@
|
||||
446
|
||||
flmnkrljmujvfxdvdydmvkjsbpmvgmnfeseumhbdioizcjvpwyxqwdpychqxtfdlkedhujduqbqwxvoxclajstguqnirrpxandmwhlwdygnnordxmujnzlkeamdxaaokvbvplrwxzijpjkulovealuepkslyiuzywpyyfocicazyewqyunjlfcthlieolxuypkqpemzjjpswulkngytffixvoiyuusyytuuyiovxifftygnkluwspjjfmepqkpyuxloeilhtmfljltwyweyzacicofxypwyzuiylskpeuluedolukrajizxwrlpvbvkonhximaeklznjuyxdjonngydwlhwmdncxprrrnqoatsjaljxovxwzbquddbrdeklduscqvcypdsqxyapojcdhoidbhmuestknmgcmpbsjkvmdydvdxfvjimjlrknslf
|
||||
2
longest-palindromic-subsequence/input/32
Normal file
2
longest-palindromic-subsequence/input/32
Normal file
@@ -0,0 +1,2 @@
|
||||
398
|
||||
dnwkyfymgrfmzxqpejcixxppqgvuawutgrmezjkteofjbnrvzzkvjtacfxjjokisavsgrslryxfqgrmdsqwptajbqzvethuljbdatxghfzqrwvfgakwmoawlzqjypmhllbbuuhbpriqsnibywlgjlxowyzagrfnqafvcqwktkcjwejevzbnxhsfmwojshcdypnvbuhhuzqmgovmvgwiizatoxgblyudipahfbkewmuneoqhjmbpdtwnznblwvtjrniwlbyblhppndspojrouffazpoxtqdfpjuhitvijrohavpqatofxwmksvjcvhdecxwwmosqiczjpkfafqlboxosnjgzgdraehzdltthemeusxhiiimrdrugabnxwsygsktkcslhjebfexu
|
||||
2
longest-palindromic-subsequence/input/33
Normal file
2
longest-palindromic-subsequence/input/33
Normal file
@@ -0,0 +1,2 @@
|
||||
694
|
||||
wrptebkjhefsvfrmcqqdlanbetrgzwylizmrystvpgrkhlicfadcogtnigdrxaslquolbtomefrtocgsyyxmmsoessjmkvhskploeetlfvcjlilcemzwtvjilgdvbvafaeqqojypxjdyxdzxbtkccesympaxxhzcaqjdoixjiivinpidpfjhvavbwpckqncjwygbbdwbqjvdehkevsntanowlersappruokywnegncmjvjxcsalrmiuszjmkapbwdvdnjxnxrnlmirlmehsayuhjpajkuxsyrirkpmgzcyupoigwsdqsuxmaixwsqgvlrjzfcqrphsbgrsfneaijelhyrumkqpkqklsacnhpznpxzsfgmcoubkpcwzmkmaxjypvswrigsvqgogoqcivazsindehaozddwxttffshovpvpoldlonlkeggvxcyqkabpwnrzejfdopdhxkoqspevrrjeochbdfqbvcoyvffvzauufrrohjtxnjzpmkdkjbfqflivigiwztgbybugifdyhojtjkoaqiehkjmatgyhgkjumwvalsqmcoiijvwchnenikrlizwkhktdxtqvxibctbnbxfudivicnljlnzpghkvjcosvfnryipiiylotxanmkcljvyycmrtscndzivghxaigwxskrksqjokvncectsfxpgyorkufs
|
||||
2
longest-palindromic-subsequence/input/34
Normal file
2
longest-palindromic-subsequence/input/34
Normal file
@@ -0,0 +1,2 @@
|
||||
1000
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
2
longest-palindromic-subsequence/input/35
Normal file
2
longest-palindromic-subsequence/input/35
Normal file
@@ -0,0 +1,2 @@
|
||||
1000
|
||||
aciqgncvxtghwtpbnfskrmpzcymxugwjdilcorkrzpuewahxylcgnzksusrauptymacgtstkdxwygkdrggmqkomlrwrroqfnzpvwocuaggxcvbflauqxqbwtfyhpeyfdpydbfancnkgtyomyhdodvbiqneqfwsvyfrpijygjduhwaggcwzidphkrwyjcqgzpsrlcjuybmgaorppyffunuonatqseysoubmiafjbzxuiwszuovqewcolejflivckbbwdjgmzvfkxzxfdcxbaymmntielkjnzkoddcpfepdqhgyrawgymamljwnbieawiufaepocjmcsoynmiuplaekaxexiyjfhhgxeqpxsvievrooopkwnvxqazpxldlyeqwduiqurnwsmxxarzoampoqoxcmqgamihmsrjnrlnijtnzxcdyczmyfruwsfkvxvljuporlhzeqqzrlydqlxtgjmxdstcrabjcopybqybaalilyzhysadroqijfhyvgzufdlrzgecmeqtgkfgifpyiehmcgrpopmozmaecxfpkwzeualgfdmdexmksipymegeruxgtganeljamwvtxfqfcehncnhxayvdrkwppxiscaykvmkyjkjjgzidbatjujgdcsoqnlxgxxdeyewhvtncvpusjinbrrjcwfxcafbxpytbeypcoswmpdcbdcmjsfzyoohdzyudjoukiowfcmhpliccyhiigrnjmxyafnxnfzvnbnsxbkampswfmooflqwwdnsajuzisgrzozdgnhhuaibgyctpyqhcxchhygihqaermspsgomqkyltmrfgqbdhiloyxfityhewgmvcakcxunuxogdvurumqogwljlfhysyjvvefpkbyibzeqfjhzymhdkdzueqdhnyvqtunonrxjnfbrukwlfitfmovpqnrohznpyfcozugjybluvniqukmswcwsriwfqnhotbayaeqvyphrkwutqicjowqmqne
|
||||
2
longest-palindromic-subsequence/input/4
Normal file
2
longest-palindromic-subsequence/input/4
Normal file
@@ -0,0 +1,2 @@
|
||||
2
|
||||
we
|
||||
2
longest-palindromic-subsequence/input/5
Normal file
2
longest-palindromic-subsequence/input/5
Normal file
@@ -0,0 +1,2 @@
|
||||
4
|
||||
dttd
|
||||
2
longest-palindromic-subsequence/input/6
Normal file
2
longest-palindromic-subsequence/input/6
Normal file
@@ -0,0 +1,2 @@
|
||||
9
|
||||
gmdbyfwur
|
||||
2
longest-palindromic-subsequence/input/7
Normal file
2
longest-palindromic-subsequence/input/7
Normal file
@@ -0,0 +1,2 @@
|
||||
8
|
||||
vhiffihv
|
||||
2
longest-palindromic-subsequence/input/8
Normal file
2
longest-palindromic-subsequence/input/8
Normal file
@@ -0,0 +1,2 @@
|
||||
10
|
||||
yndmhtqvkg
|
||||
2
longest-palindromic-subsequence/input/9
Normal file
2
longest-palindromic-subsequence/input/9
Normal file
@@ -0,0 +1,2 @@
|
||||
10
|
||||
tsaottozst
|
||||
Binary file not shown.
@@ -0,0 +1,38 @@
|
||||
\documentclass{maratona}
|
||||
|
||||
\begin{document}
|
||||
\begin{ProblemaAutor}{}{Maior Subsequência Palindrômica}{1}{256}{}
|
||||
|
||||
O problema consiste em determinar a maior subsequência palindrômica de uma sequência de caracteres.
|
||||
Uma subsequência é formada ao remover zero ou mais elementos da sequência original, sem alterar a ordem relativa dos elementos restantes.
|
||||
A subsequência procurada deve ser um palíndromo, ou seja, deve ser idêntica quando lida de frente para trás ou de trás para frente.
|
||||
O objetivo é identificar essa subsequência de tamanho máximo e apresentar tanto o seu comprimento quanto os próprios elementos.
|
||||
|
||||
\Entrada
|
||||
|
||||
A entrada é composta por duas linhas.
|
||||
A primeira linha contém um inteiro \( n \) (\( 1 \leq n \leq 1000 \)), representando o número de caracteres da sequência.
|
||||
A segunda linha contém uma string \( s \) de comprimento \( n \), composta por letras minúsculas do alfabeto.
|
||||
|
||||
\Saida
|
||||
|
||||
A saída é composta por uma linha, um único inteiro, que representa representando o tamanho \( L \) da maior subsequência palindrômica.
|
||||
|
||||
\ExemploEntrada
|
||||
\begin{Exemplo}
|
||||
\texttt{5} & \texttt{4}\\
|
||||
\texttt{bbbab} & \\
|
||||
\rowcolor{gray!20}\texttt{4} & \texttt{2}\\
|
||||
\rowcolor{gray!20}\texttt{cbbd} & \\
|
||||
\texttt{1} & \texttt{1}\\
|
||||
\texttt{a} & \\
|
||||
\end{Exemplo}
|
||||
|
||||
|
||||
|
||||
\Notas
|
||||
|
||||
Para a sequência "bbbab", o tamanho da maior subsequência palindrômica é \( L = 4 \) e uma possível sequência é "bbbb".
|
||||
Para a sequência "cbbd", a maior subsequência palindrômica é "bb", com tamanho \( L = 2 \).
|
||||
Para a sequência "a", há apenas um elemento, então a maior subsequência palindrômica é o próprio caractere "a", com tamanho \( L = 1 \).\end{ProblemaAutor}
|
||||
\end{document}
|
||||
188
longest-palindromic-subsequence/maratona.cls
Normal file
188
longest-palindromic-subsequence/maratona.cls
Normal file
@@ -0,0 +1,188 @@
|
||||
\ProvidesPackage{maratona}
|
||||
\LoadClass[11pt]{article}
|
||||
|
||||
% remove page numbers
|
||||
\pagenumbering{gobble}
|
||||
|
||||
\RequirePackage{fancyhdr}
|
||||
|
||||
\RequirePackage{tabularx,colortbl}
|
||||
|
||||
%\RequirePackage{arial}
|
||||
\RequirePackage{ifpdf}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[portuguese]{babel}
|
||||
\RequirePackage{graphics}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{amssymb,amsmath,wrapfig}
|
||||
\RequirePackage{xcolor,colortbl}
|
||||
\RequirePackage{xcolor}
|
||||
\RequirePackage{ifthen}
|
||||
\oddsidemargin 0cm
|
||||
\evensidemargin -2cm
|
||||
\topmargin -1cm
|
||||
\textwidth 16cm
|
||||
\textheight 23cm
|
||||
|
||||
\ifpdf
|
||||
\RequirePackage[pdftex]{hyperref}
|
||||
\else
|
||||
\RequirePackage[hypertex]{hyperref}
|
||||
\fi
|
||||
|
||||
|
||||
\newcommand{\var}[1]{\ensuremath{{#1}}}
|
||||
|
||||
|
||||
\hypersetup{
|
||||
letterpaper,
|
||||
colorlinks=true,
|
||||
linkcolor=blue,
|
||||
urlcolor=blue,
|
||||
pdfpagemode=none,
|
||||
pdftitle={IV Maratona de Programação do IFB \today},
|
||||
pdfauthor={},
|
||||
pdfsubject={Caderno de problemas da IV Maratona de Programação do IFB },
|
||||
pdfkeywords={maratona, programação, IFB}
|
||||
}
|
||||
|
||||
|
||||
|
||||
\DeclareGraphicsExtensions{png}
|
||||
|
||||
\lhead{DS Contest Tools}
|
||||
\pagestyle{fancy}
|
||||
|
||||
% Capa
|
||||
\newenvironment{Maratona}[3]
|
||||
{
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
|
||||
\vspace{1cm}
|
||||
\Large{\textbf{#1}} \\
|
||||
\vspace{1cm}
|
||||
{\textbf{Caderno de Problemas}} \\
|
||||
\vspace{1cm}
|
||||
\begin{small}
|
||||
\textsl{#2}
|
||||
\end{small} \\
|
||||
\begin{figure}[htp]
|
||||
\begin{center}
|
||||
\includegraphics[scale=1]{logos/logo-maratona.png}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
{(Este caderno contém {#3} problemas)} \\
|
||||
\vspace{1cm}
|
||||
}
|
||||
{
|
||||
\vfill
|
||||
\begin{small}
|
||||
{QNM 40, Área Especial nº 01,
|
||||
Taguatinga/DF, 72146-000 ,
|
||||
Brasil } \\
|
||||
{Telefone (61) 2103-2200 \\http://www.ifb.edu.br/taguatinga} \\
|
||||
\end{small}
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
}
|
||||
|
||||
\newcommand{\Organizacao}[2]{
|
||||
{\small \vfill
|
||||
\begin{center}
|
||||
|
||||
\textbf{Comissão Organizadora:} \\
|
||||
{#1} \\
|
||||
\bigskip
|
||||
\textbf{Apoio:}\\
|
||||
{#2}
|
||||
\end{center}
|
||||
}
|
||||
\vfill
|
||||
}
|
||||
|
||||
|
||||
% Problema
|
||||
\newcounter{problem}
|
||||
\newenvironment{Problema}[4]{
|
||||
\stepcounter{problem}
|
||||
\newpage
|
||||
\begin{center}
|
||||
\Large{\ifthenelse{\equal{#1}{}}{\textbf{{#2}}}{\textbf{Problema {#1} -- {#2} }}}{\\\footnotesize \textbf{Limite de tempo: {#3}s}}{\\[-0.1cm]\footnotesize \textbf{Limite de memória: {#4}MB}}
|
||||
\end{center}
|
||||
}
|
||||
|
||||
\newcounter{problemAutor}
|
||||
\newenvironment{ProblemaAutor}[5]{
|
||||
\stepcounter{problemAutor}
|
||||
\newpage
|
||||
\begin{center}
|
||||
\Large{\ifthenelse{\equal{#1}{}}{\textbf{{#2}}}{\textbf{Problema {#1} -- {#2} }}}{\\\footnotesize \textbf{Limite de tempo: {#3}s}}{\\[-0.1cm]\footnotesize \textbf{Limite de memória: {#4}MB\\}}{
|
||||
\footnotesize Autor: {#5}
|
||||
}
|
||||
\end{center}
|
||||
}
|
||||
|
||||
|
||||
% Código-fonte
|
||||
\newcommand{\codigofonte}[1]{Nome do arquivo fonte: {#1}}
|
||||
|
||||
% Entrada
|
||||
\newcommand{\Entrada}{
|
||||
\bigskip
|
||||
\begin{large}
|
||||
\textbf{Entrada} \\
|
||||
\end{large}
|
||||
}
|
||||
|
||||
% Saida
|
||||
\newcommand{\Saida}{
|
||||
\bigskip
|
||||
\begin{large}
|
||||
\textbf{Saída} \\
|
||||
\end{large}
|
||||
}
|
||||
|
||||
\newcommand{\Interacao}{
|
||||
\bigskip
|
||||
\begin{large}
|
||||
\textbf{Interação} \\
|
||||
\end{large}
|
||||
}
|
||||
|
||||
\newcommand{\Notas}{
|
||||
\bigskip
|
||||
\begin{large}
|
||||
\textbf{Notas} \\
|
||||
\end{large}
|
||||
}
|
||||
|
||||
% Exemplo
|
||||
\newenvironment{Exemplo}
|
||||
{
|
||||
|
||||
\tabularx{\textwidth}{XX}
|
||||
% {@{\extracolsep{\fill}}|l|l|}
|
||||
% {|l|l@{\extracolsep{\fill}|}}
|
||||
\hline
|
||||
Entrada & Saída \\\hline
|
||||
}
|
||||
{
|
||||
\hline
|
||||
\endtabularx
|
||||
}
|
||||
|
||||
% Exemplo de Entrada
|
||||
\newenvironment{ExemploEntrada}
|
||||
{
|
||||
\bigskip
|
||||
\begin{large}
|
||||
\textbf{Exemplo} \\
|
||||
\end{large}
|
||||
}
|
||||
{
|
||||
}
|
||||
|
||||
% Sample Output
|
||||
|
||||
1
longest-palindromic-subsequence/output/1
Normal file
1
longest-palindromic-subsequence/output/1
Normal file
@@ -0,0 +1 @@
|
||||
4
|
||||
1
longest-palindromic-subsequence/output/10
Normal file
1
longest-palindromic-subsequence/output/10
Normal file
@@ -0,0 +1 @@
|
||||
3
|
||||
1
longest-palindromic-subsequence/output/11
Normal file
1
longest-palindromic-subsequence/output/11
Normal file
@@ -0,0 +1 @@
|
||||
8
|
||||
1
longest-palindromic-subsequence/output/12
Normal file
1
longest-palindromic-subsequence/output/12
Normal file
@@ -0,0 +1 @@
|
||||
4
|
||||
1
longest-palindromic-subsequence/output/13
Normal file
1
longest-palindromic-subsequence/output/13
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
longest-palindromic-subsequence/output/14
Normal file
1
longest-palindromic-subsequence/output/14
Normal file
@@ -0,0 +1 @@
|
||||
84
|
||||
1
longest-palindromic-subsequence/output/15
Normal file
1
longest-palindromic-subsequence/output/15
Normal file
@@ -0,0 +1 @@
|
||||
16
|
||||
1
longest-palindromic-subsequence/output/16
Normal file
1
longest-palindromic-subsequence/output/16
Normal file
@@ -0,0 +1 @@
|
||||
18
|
||||
1
longest-palindromic-subsequence/output/17
Normal file
1
longest-palindromic-subsequence/output/17
Normal file
@@ -0,0 +1 @@
|
||||
9
|
||||
1
longest-palindromic-subsequence/output/18
Normal file
1
longest-palindromic-subsequence/output/18
Normal file
@@ -0,0 +1 @@
|
||||
68
|
||||
1
longest-palindromic-subsequence/output/19
Normal file
1
longest-palindromic-subsequence/output/19
Normal file
@@ -0,0 +1 @@
|
||||
286
|
||||
1
longest-palindromic-subsequence/output/2
Normal file
1
longest-palindromic-subsequence/output/2
Normal file
@@ -0,0 +1 @@
|
||||
2
|
||||
1
longest-palindromic-subsequence/output/20
Normal file
1
longest-palindromic-subsequence/output/20
Normal file
@@ -0,0 +1 @@
|
||||
71
|
||||
1
longest-palindromic-subsequence/output/21
Normal file
1
longest-palindromic-subsequence/output/21
Normal file
@@ -0,0 +1 @@
|
||||
199
|
||||
1
longest-palindromic-subsequence/output/22
Normal file
1
longest-palindromic-subsequence/output/22
Normal file
@@ -0,0 +1 @@
|
||||
117
|
||||
1
longest-palindromic-subsequence/output/23
Normal file
1
longest-palindromic-subsequence/output/23
Normal file
@@ -0,0 +1 @@
|
||||
223
|
||||
1
longest-palindromic-subsequence/output/24
Normal file
1
longest-palindromic-subsequence/output/24
Normal file
@@ -0,0 +1 @@
|
||||
238
|
||||
1
longest-palindromic-subsequence/output/25
Normal file
1
longest-palindromic-subsequence/output/25
Normal file
@@ -0,0 +1 @@
|
||||
35
|
||||
1
longest-palindromic-subsequence/output/26
Normal file
1
longest-palindromic-subsequence/output/26
Normal file
@@ -0,0 +1 @@
|
||||
93
|
||||
1
longest-palindromic-subsequence/output/27
Normal file
1
longest-palindromic-subsequence/output/27
Normal file
@@ -0,0 +1 @@
|
||||
299
|
||||
1
longest-palindromic-subsequence/output/28
Normal file
1
longest-palindromic-subsequence/output/28
Normal file
@@ -0,0 +1 @@
|
||||
296
|
||||
1
longest-palindromic-subsequence/output/29
Normal file
1
longest-palindromic-subsequence/output/29
Normal file
@@ -0,0 +1 @@
|
||||
216
|
||||
1
longest-palindromic-subsequence/output/3
Normal file
1
longest-palindromic-subsequence/output/3
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
longest-palindromic-subsequence/output/30
Normal file
1
longest-palindromic-subsequence/output/30
Normal file
@@ -0,0 +1 @@
|
||||
195
|
||||
1
longest-palindromic-subsequence/output/31
Normal file
1
longest-palindromic-subsequence/output/31
Normal file
@@ -0,0 +1 @@
|
||||
368
|
||||
1
longest-palindromic-subsequence/output/32
Normal file
1
longest-palindromic-subsequence/output/32
Normal file
@@ -0,0 +1 @@
|
||||
131
|
||||
1
longest-palindromic-subsequence/output/33
Normal file
1
longest-palindromic-subsequence/output/33
Normal file
@@ -0,0 +1 @@
|
||||
231
|
||||
1
longest-palindromic-subsequence/output/34
Normal file
1
longest-palindromic-subsequence/output/34
Normal file
@@ -0,0 +1 @@
|
||||
1000
|
||||
1
longest-palindromic-subsequence/output/35
Normal file
1
longest-palindromic-subsequence/output/35
Normal file
@@ -0,0 +1 @@
|
||||
327
|
||||
1
longest-palindromic-subsequence/output/4
Normal file
1
longest-palindromic-subsequence/output/4
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
longest-palindromic-subsequence/output/5
Normal file
1
longest-palindromic-subsequence/output/5
Normal file
@@ -0,0 +1 @@
|
||||
4
|
||||
1
longest-palindromic-subsequence/output/6
Normal file
1
longest-palindromic-subsequence/output/6
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
longest-palindromic-subsequence/output/7
Normal file
1
longest-palindromic-subsequence/output/7
Normal file
@@ -0,0 +1 @@
|
||||
8
|
||||
1
longest-palindromic-subsequence/output/8
Normal file
1
longest-palindromic-subsequence/output/8
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
longest-palindromic-subsequence/output/9
Normal file
1
longest-palindromic-subsequence/output/9
Normal file
@@ -0,0 +1 @@
|
||||
8
|
||||
64
longest-palindromic-subsequence/problem.json
Normal file
64
longest-palindromic-subsequence/problem.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"problem": {
|
||||
"title": "Maior Subsequência Palindrômica",
|
||||
"event": "",
|
||||
"time_limit": 1.0,
|
||||
"memory_limit_mb": 256,
|
||||
"input_file": "stdin",
|
||||
"output_file": "stdout",
|
||||
"interactive": false,
|
||||
"grader": false,
|
||||
"subject": {
|
||||
"en_us": [
|
||||
"dynamic-programming", "DP", "longest-palindromic-subsequence", "LPS"
|
||||
],
|
||||
"pt_br": [
|
||||
"programação-dinâmica", "maior-subsequência-palindrômica"
|
||||
],
|
||||
"es": [
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
"author": {
|
||||
"name": "",
|
||||
"affiliation": "",
|
||||
"country": "",
|
||||
"email": ""
|
||||
},
|
||||
"build": {
|
||||
"run_generator": true,
|
||||
"run_validator": true,
|
||||
"produce_outputs": true,
|
||||
"run_checker": true,
|
||||
"run_all_solutions": true,
|
||||
"run_specific_solution": "",
|
||||
"generate_io_only": false,
|
||||
"generate_pdf_only": false,
|
||||
"cpu_count": 1,
|
||||
"build_pdf": true,
|
||||
"pdf_format": "ds",
|
||||
"io_samples": 3
|
||||
},
|
||||
"solutions": {
|
||||
"main-ac": "ac.cpp",
|
||||
"alternative-ac": [],
|
||||
"wrong-answer": [],
|
||||
"time-limit": ["TLE.cpp"],
|
||||
"time-limit-or-ac": [],
|
||||
"time-limit-or-memory-limit": [],
|
||||
"memory-limit": [],
|
||||
"presentation-error": [],
|
||||
"runtime-error": []
|
||||
},
|
||||
"polygon_config": {
|
||||
"id": ""
|
||||
},
|
||||
"boca_config": {
|
||||
"time_limit": 1,
|
||||
"number_of_repetitions": 1,
|
||||
"maximum_memory_mb": 512,
|
||||
"maximum_output_size_kb": 24096
|
||||
}
|
||||
}
|
||||
23
longest-palindromic-subsequence/src/TLE.cpp
Normal file
23
longest-palindromic-subsequence/src/TLE.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int solve(const string& s) {
|
||||
if (s.length() == 0) return 0;
|
||||
if (s.length() == 1) return 1;
|
||||
|
||||
if (s.front() == s.back()) {
|
||||
return 2 + solve(s.substr(1, s.length() - 2));
|
||||
} else {
|
||||
return max(solve(s.substr(1)), solve(s.substr(0, s.length() - 1)));
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n; cin >> n;
|
||||
string s; cin >> s;
|
||||
|
||||
cout << solve(s) << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
33
longest-palindromic-subsequence/src/ac.cpp
Normal file
33
longest-palindromic-subsequence/src/ac.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
int n; cin >> n;
|
||||
string s; cin >> s;
|
||||
|
||||
/*
|
||||
dp[i][j] says if the substring from i to j is a palindrome
|
||||
*/
|
||||
vector<vector<int>> dp(n, vector<int>(n, 0));
|
||||
for (int i = n - 1; i >= 0; i--)
|
||||
{
|
||||
dp[i][i] = 1;
|
||||
for (int j = i + 1; j < n; j++)
|
||||
{
|
||||
if (s[i] == s[j])
|
||||
{
|
||||
dp[i][j] = dp[i + 1][j - 1] + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cout << dp[0][n - 1] << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
17
longest-palindromic-subsequence/src/checker.cpp
Normal file
17
longest-palindromic-subsequence/src/checker.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "testlib.h"
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
setName("compare two signed int%d's", 8 * int(sizeof(int)));
|
||||
registerTestlibCmd(argc, argv);
|
||||
|
||||
int ja = ans.readInt();
|
||||
int pa = ouf.readInt();
|
||||
|
||||
if (ja != pa)
|
||||
quitf(_wa, "expected %d, found %d", ja, pa);
|
||||
|
||||
quitf(_ok, "all answers are correct");
|
||||
}
|
||||
96
longest-palindromic-subsequence/src/generator.cpp
Normal file
96
longest-palindromic-subsequence/src/generator.cpp
Normal file
@@ -0,0 +1,96 @@
|
||||
#include "testlib.h"
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const int MIN_N = 1;
|
||||
const int MAX_N = 1000;
|
||||
const int rnd_test_n = 30;
|
||||
|
||||
template <typename T> void append(vector<T> &dest, const vector<T> &orig) {
|
||||
dest.insert(dest.end(), orig.begin(), orig.end());
|
||||
}
|
||||
|
||||
string output_tc(const string &s) {
|
||||
ostringstream oss;
|
||||
oss << s.size() << endl;
|
||||
oss << s << endl;
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
vector<string> generate_sample_tests() {
|
||||
vector<string> tests;
|
||||
tests.push_back(output_tc("bbbab"));
|
||||
tests.push_back(output_tc("cbbd"));
|
||||
tests.push_back(output_tc("a"));
|
||||
return tests;
|
||||
}
|
||||
|
||||
vector<string> generate_manual_tests() {
|
||||
vector<string> tests;
|
||||
return tests;
|
||||
}
|
||||
|
||||
string generate_structured_string(int n) {
|
||||
string s = "";
|
||||
|
||||
if (rnd.next(0, 1) == 1) {
|
||||
string half = rnd.next("[a-z]{" + to_string((n + 1) / 2) + "}");
|
||||
s = half;
|
||||
reverse(half.begin(), half.end());
|
||||
s += half;
|
||||
for (int i = 0; i < n / 10; i++) {
|
||||
s[rnd.next(0, n - 1)] = rnd.next('a', 'z');
|
||||
}
|
||||
}
|
||||
else {
|
||||
s = rnd.next("[a-z]{" + to_string(n) + "}");
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
string rnd_test(int i) {
|
||||
int min_n = MIN_N;
|
||||
int max_n = MAX_N;
|
||||
|
||||
if (i < rnd_test_n / 3) {
|
||||
max_n = 10;
|
||||
} else if (i < rnd_test_n / 2) {
|
||||
max_n = 100;
|
||||
}
|
||||
|
||||
int n = rnd.next(min_n, max_n);
|
||||
return output_tc(generate_structured_string(n));
|
||||
}
|
||||
|
||||
vector<string> generate_random_tests() {
|
||||
vector<string> tests;
|
||||
for (int i = 0; i < rnd_test_n; i++) {
|
||||
tests.push_back(rnd_test(i));
|
||||
}
|
||||
return tests;
|
||||
}
|
||||
|
||||
vector<string> generate_extreme_tests() {
|
||||
vector<string> tests;
|
||||
tests.push_back(output_tc(string(1000, 'a')));
|
||||
tests.push_back(output_tc(rnd.next("[a-z]{1000}")));
|
||||
return tests;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
registerGen(argc, argv, 1);
|
||||
vector<string> tests;
|
||||
size_t test = 0;
|
||||
|
||||
append(tests, generate_sample_tests());
|
||||
append(tests, generate_manual_tests());
|
||||
append(tests, generate_random_tests());
|
||||
append(tests, generate_extreme_tests());
|
||||
|
||||
for (const auto &t : tests) {
|
||||
startTest(++test);
|
||||
cout << t;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
1
longest-palindromic-subsequence/src/script.sh
Normal file
1
longest-palindromic-subsequence/src/script.sh
Normal file
@@ -0,0 +1 @@
|
||||
generator
|
||||
5963
longest-palindromic-subsequence/src/testlib.h
Normal file
5963
longest-palindromic-subsequence/src/testlib.h
Normal file
File diff suppressed because it is too large
Load Diff
16
longest-palindromic-subsequence/src/validator.cpp
Normal file
16
longest-palindromic-subsequence/src/validator.cpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#include "testlib.h"
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
registerValidation(argc, argv);
|
||||
int n = inf.readInt(1, 1000);
|
||||
inf.readEoln();
|
||||
string s = inf.readToken("[a-z]+");
|
||||
ensuref(n == (int)s.size(), "string provided %s does not have %i characters", s, n);
|
||||
inf.readEoln();
|
||||
inf.readEof();
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
O problema consiste em determinar a maior subsequência palindrômica de uma sequência de caracteres.
|
||||
Uma subsequência é formada ao remover zero ou mais elementos da sequência original, sem alterar a ordem relativa dos elementos restantes.
|
||||
A subsequência procurada deve ser um palíndromo, ou seja, deve ser idêntica quando lida de frente para trás ou de trás para frente.
|
||||
O objetivo é identificar essa subsequência de tamanho máximo e apresentar tanto o seu comprimento quanto os próprios elementos.
|
||||
3
longest-palindromic-subsequence/statement/input.tex
Normal file
3
longest-palindromic-subsequence/statement/input.tex
Normal file
@@ -0,0 +1,3 @@
|
||||
A entrada é composta por duas linhas.
|
||||
A primeira linha contém um inteiro \( n \) (\( 1 \leq n \leq 1000 \)), representando o número de caracteres da sequência.
|
||||
A segunda linha contém uma string \( s \) de comprimento \( n \), composta por letras minúsculas do alfabeto.
|
||||
3
longest-palindromic-subsequence/statement/notes.tex
Normal file
3
longest-palindromic-subsequence/statement/notes.tex
Normal file
@@ -0,0 +1,3 @@
|
||||
Para a sequência "bbbab", o tamanho da maior subsequência palindrômica é \( L = 4 \) e uma possível sequência é "bbbb".
|
||||
Para a sequência "cbbd", a maior subsequência palindrômica é "bb", com tamanho \( L = 2 \).
|
||||
Para a sequência "a", há apenas um elemento, então a maior subsequência palindrômica é o próprio caractere "a", com tamanho \( L = 1 \).
|
||||
1
longest-palindromic-subsequence/statement/output.tex
Normal file
1
longest-palindromic-subsequence/statement/output.tex
Normal file
@@ -0,0 +1 @@
|
||||
A saída é composta por uma linha, um único inteiro, que representa representando o tamanho \( L \) da maior subsequência palindrômica.
|
||||
Reference in New Issue
Block a user