Compare commits
3
Commits
f87523a003
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d30e847c1 | ||
|
|
a7a78fbac8 | ||
|
|
94bdf44889 |
Generated
+1
-2
@@ -206,7 +206,7 @@
|
|||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
@@ -255,7 +255,6 @@
|
|||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EMPTY_BLOCK_STYLE/@EntryValue" value="TOGETHER_SAME_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EMPTY_BLOCK_STYLE/@EntryValue" value="TOGETHER_SAME_LINE" type="string" />
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EXPORT_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EXPORT_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
|||||||
Generated
+9
-1
@@ -1,2 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module classpath="CIDR" type="CPP_MODULE" version="4" />
|
<module external.system.id="pyproject.toml" type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="~/coding/exercises/.venv" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Generated
+1
@@ -3,6 +3,7 @@
|
|||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/exercises.iml" filepath="$PROJECT_DIR$/.idea/exercises.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/exercises.iml" filepath="$PROJECT_DIR$/.idea/exercises.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/exercises2.iml" filepath="$PROJECT_DIR$/.idea/exercises2.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
Generated
+471
-105
@@ -4,7 +4,7 @@
|
|||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="BackendCodeEditorMiscSettings">
|
<component name="BackendCodeEditorMiscSettings">
|
||||||
<option name="/Default/Environment/Hierarchy/GeneratedFilesCacheKey/Timestamp/@EntryValue" value="8" type="long" />
|
<option name="/Default/Environment/Hierarchy/GeneratedFilesCacheKey/Timestamp/@EntryValue" value="3" type="long" />
|
||||||
<option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexedValue" value="true" type="bool" />
|
<option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexedValue" value="true" type="bool" />
|
||||||
<option name="/Default/Housekeeping/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue" value="true" type="bool" />
|
<option name="/Default/Housekeeping/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue" value="true" type="bool" />
|
||||||
<option name="/Default/Housekeeping/OptionsDialog/SelectedPageId/@EntryValue" value="CppFormatterOtherPage" type="string" />
|
<option name="/Default/Housekeeping/OptionsDialog/SelectedPageId/@EntryValue" value="CppFormatterOtherPage" type="string" />
|
||||||
@@ -21,47 +21,82 @@
|
|||||||
<component name="CMakeRunConfigurationManager">
|
<component name="CMakeRunConfigurationManager">
|
||||||
<generated>
|
<generated>
|
||||||
<config projectName="exercises" targetName="pojcs101_M02692_12_coins" />
|
<config projectName="exercises" targetName="pojcs101_M02692_12_coins" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01321_chest_grid" />
|
<config projectName="exercises" targetName="graph__ECNA2001_sort_letters" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T12559_biggest_smallest_combination" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T12559_biggest_smallest_combination_WRONG" />
|
||||||
<config projectName="exercises" targetName="pojcs101_E02883" />
|
<config projectName="exercises" targetName="pojcs101_E02883" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M02694_polish_notation_tree" />
|
<config projectName="exercises" targetName="pojcs101_M02694_polish_notation_tree" />
|
||||||
<config projectName="exercises" targetName="CMakeCXXCompilerId" />
|
|
||||||
<config projectName="exercises" targetName="pojcs101_M01017_6_boxes" />
|
<config projectName="exercises" targetName="pojcs101_M01017_6_boxes" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" />
|
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" />
|
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M03247_palindromic_prime" />
|
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
|
||||||
<config projectName="exercises" targetName="pojcs101_E01218" />
|
<config projectName="exercises" targetName="JLOI2009_binary_tree_GIVEUP" />
|
||||||
<config projectName="exercises" targetName="exercises" />
|
<config projectName="exercises" targetName="_others__qyz__gdbh" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M03704_brackets" />
|
||||||
<config projectName="exercises" targetName="luogu_ez_B3628" />
|
<config projectName="exercises" targetName="luogu_ez_B3628" />
|
||||||
|
<config projectName="exercises" targetName="dp__TJOI2007_walk_segments_dp" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M03441_sum_zero" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy" />
|
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01852_ants_falling" />
|
|
||||||
<config projectName="exercises" targetName="pojcs101_M02692_12_coins_WRONG" />
|
<config projectName="exercises" targetName="pojcs101_M02692_12_coins_WRONG" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M02746_josephus_problem_simulation" />
|
<config projectName="exercises" targetName="pojcs101_M02746_josephus_problem_simulation" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" />
|
<config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01088_ski_WRONG" />
|
<config projectName="exercises" targetName="graph__luogu_P3916_graph_iteration" />
|
||||||
|
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp_MWASTE" />
|
||||||
<config projectName="exercises" targetName="pojcs101_T01011_sticks" />
|
<config projectName="exercises" targetName="pojcs101_T01011_sticks" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M02431_cows_gas_leak_WRONG" />
|
<config projectName="exercises" targetName="pojcs101_M02431_cows_gas_leak_WRONG" />
|
||||||
|
<config projectName="exercises" targetName="NOIP2003J_bigint" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01922_ride_follower" />
|
<config projectName="exercises" targetName="pojcs101_M01922_ride_follower" />
|
||||||
<config projectName="exercises" targetName="luogu_template_dsu_P3367" />
|
<config projectName="exercises" targetName="luogu_template_dsu_P3367" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01088_ski" />
|
<config projectName="exercises" targetName="luogu_P1160_biodir_linked_list" />
|
||||||
<config projectName="exercises" targetName="pojcs101_E01003" />
|
<config projectName="exercises" targetName="pojcs101_E01003" />
|
||||||
|
<config projectName="exercises" targetName="JLOI2009_binary_tree" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M03532" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M01321_chest_grid" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T04117_split_int" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T27373_biggest_combination_t2_TLE" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M03247_palindromic_prime" />
|
||||||
|
<config projectName="exercises" targetName="SHOI2002_ski" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_E01218" />
|
||||||
|
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp" />
|
||||||
|
<config projectName="exercises" targetName="exercises" />
|
||||||
|
<config projectName="exercises" targetName="dp__SHOI2002_ski_dp" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T01011_sticks_WRONG" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_M01852_ants_falling" />
|
||||||
|
<config projectName="exercises" targetName="graph__luogu_P3916_graph_iteration_WRONG" />
|
||||||
|
<config projectName="exercises" targetName="SHOI2002_ski_WRONG" />
|
||||||
|
<config projectName="exercises" targetName="dsa__linear_list__dsa_0201_dictionary" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T27104_chicken_monitors" />
|
||||||
|
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" />
|
||||||
|
<config projectName="exercises" targetName="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
|
||||||
|
<config projectName="exercises" targetName="NOIP2016J_bay" />
|
||||||
|
<config projectName="exercises" targetName="lc_135_candy" />
|
||||||
|
<config projectName="exercises" targetName="pojcs101_T27373_biggest_combination_t2" />
|
||||||
|
<config projectName="exercises" targetName="_others__qyz__test" />
|
||||||
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" />
|
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" />
|
||||||
|
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" />
|
||||||
</generated>
|
</generated>
|
||||||
</component>
|
</component>
|
||||||
<component name="CMakeSettings" AUTO_RELOAD="true">
|
<component name="CMakeSettings" AUTO_RELOAD="true">
|
||||||
<configurations>
|
<configurations />
|
||||||
<configuration PROFILE_NAME="Debug-GCC" ENABLED="true" CONFIG_NAME="Debug" TOOLCHAIN_NAME="GCC" />
|
|
||||||
</configurations>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="CMakeLists.txt">
|
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="Update CMakeLists.txt">
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_M02746_josephus_problem_simulation.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/JLOI2009_binary_tree_GIVEUP.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_M03247_palindromic_prime.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/NOIP2016J_bay.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_M03247_palindromic_prime_init1.py" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_T01011_sticks.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0201_dictionary.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_T01011_sticks_WRONG.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0202_card_stacking.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/graph/ECNA2001_sort_letters.cpp" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/graph/luogu_P3916_graph_iteration.cpp" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/graph/luogu_P3916_graph_iteration_WRONG.cpp" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/luogu_P1160_biodir_linked_list.cpp" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/practice_of_programming/pp_practise202610a_01.cpp" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/editor.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/editor.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/dp/backpack_dp/NOIP2006S_jinming_budget_dp_knapsack.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/dp/backpack_dp/NOIP2006S_jinming_budget_dp_knapsack.cpp" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/noip2012s_kings_game.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/JLOI2009_binary_tree.cpp" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -93,6 +128,9 @@
|
|||||||
</option>
|
</option>
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="HighlightingSettingsPerFile">
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
</component>
|
||||||
<component name="MacroExpansionManager">
|
<component name="MacroExpansionManager">
|
||||||
<option name="directoryName" value="7Sv2hfws" />
|
<option name="directoryName" value="7Sv2hfws" />
|
||||||
</component>
|
</component>
|
||||||
@@ -114,63 +152,97 @@
|
|||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent"><![CDATA[{
|
<component name="PropertiesComponent">{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
"C/C++ 文件.D_pojcs101_M02692.cpp.executor": "Run",
|
"C/C++ 文件.D_pojcs101_M02692.cpp.executor": "Run",
|
||||||
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run",
|
"C/C++ 文件.luogu_P3916_graph_iteration.cpp.executor": "Debug",
|
||||||
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run",
|
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run",
|
||||||
"C/C++ 文件.luogu_model_dsu_P3367.cpp.executor": "Run",
|
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run",
|
"C/C++ 文件.luogu_model_dsu_P3367.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run",
|
"C/C++ 文件.noip2003j_bigint.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M01017_6_boxes.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M01088_ski.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M01321_chest_grid.cpp.executor": "Debug",
|
"C/C++ 文件.pojcs101_M01017_6_boxes.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M01328_radar_greedy.cpp.executor": "Debug",
|
"C/C++ 文件.pojcs101_M01088_ski.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M01852_ants_falling.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M01321_chest_grid.cpp.executor": "Debug",
|
||||||
"C/C++ 文件.pojcs101_M01922_ride_follower.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M01328_radar_greedy.cpp.executor": "Debug",
|
||||||
"C/C++ 文件.pojcs101_M02039_snakey_encryption.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M01852_ants_falling.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M02431_cows_gas_leak.cpp.executor": "Debug",
|
"C/C++ 文件.pojcs101_M01922_ride_follower.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M02524_ubiquitous_religions_dsu.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02039_snakey_encryption.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02431_cows_gas_leak.cpp.executor": "Debug",
|
||||||
"C/C++ 文件.pojcs101_M02692_12_coins.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02524_ubiquitous_religions_dsu.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M02694_polish_notation_tree.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02692_12_coins.cpp.executor": "Run",
|
||||||
"CMake 应用程序.exercises.executor": "Run",
|
"C/C++ 文件.pojcs101_M02694_polish_notation_tree.cpp.executor": "Run",
|
||||||
"CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor": "Run",
|
"C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp.executor": "Run",
|
||||||
"CMake 应用程序.pojcs101_T01011_sticks.executor": "Run",
|
"C/C++ 文件.pojcs101_M03441_sum_zero.cpp.executor": "Run",
|
||||||
"CMake 调试.exercises.executor": "Debug",
|
"CMake 应用程序.JLOI2009_binary_tree.executor": "Run",
|
||||||
"CidrDebugProfileConversion": "true",
|
"CMake 应用程序.NOIP2005J_herbs_dp_backpack.executor": "Run",
|
||||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
"CMake 应用程序.NOIP2005J_herbs_dp_backpack_MWASTE_BETTER.executor": "Run",
|
||||||
"Python.lc_127.executor": "Run",
|
"CMake 应用程序.NOIP2006S_jinming_budget_dp_knapsack.executor": "Run",
|
||||||
"Python.pojcs101_M03247_palindromic_prime_init1.executor": "Run",
|
"CMake 应用程序.NOIP2016J_bay.executor": "Run",
|
||||||
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
"CMake 应用程序.SHOI2002_ski_dp.executor": "Run",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"CMake 应用程序.dp__TJOI2007_walk_segments_dp.executor": "Run",
|
||||||
"RunOnceActivity.cidr.known.project.marker": "true",
|
"CMake 应用程序.dsa__linear_list__dsa_0201_dictionary.executor": "Run",
|
||||||
"RunOnceActivity.git.unshallow": "true",
|
"CMake 应用程序.exercises.executor": "Run",
|
||||||
"RunOnceActivity.readMode.enableVisualFormatting": "true",
|
"CMake 应用程序.gdbh.executor": "Run",
|
||||||
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
"CMake 应用程序.graph__luogu_P3916_graph_iteration.executor": "Run",
|
||||||
"RunOnceActivity.west.config.association.type.startup.service": "true",
|
"CMake 应用程序.lc_135_candy.executor": "Run",
|
||||||
"cf.first.check.clang-format": "false",
|
"CMake 应用程序.luogu_P1160_biodir_linked_list.executor": "Run",
|
||||||
"cidr.known.project.marker": "true",
|
"CMake 应用程序.luogu_P2196_miner_dp.executor": "Run",
|
||||||
"codeWithMe.voiceChat.enabledByDefault": "false",
|
"CMake 应用程序.noip2003j_bigint.executor": "Run",
|
||||||
"deletionFromPopupRequiresConfirmation": "false",
|
"CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor": "Run",
|
||||||
"git-widget-placeholder": "main",
|
"CMake 应用程序.pojcs101_M03441_sum_zero.executor": "Run",
|
||||||
"last_opened_file_path": "/Users/roger/coding/exercises",
|
"CMake 应用程序.pojcs101_M03532.executor": "Run",
|
||||||
"node.js.detected.package.jshint": "true",
|
"CMake 应用程序.pojcs101_M03704_brackets.executor": "Run",
|
||||||
"node.js.selected.package.jshint": "",
|
"CMake 应用程序.pojcs101_T01011_sticks.executor": "Run",
|
||||||
"nodejs_package_manager_path": "npm",
|
"CMake 应用程序.pojcs101_T04117_split_int.executor": "Run",
|
||||||
"org.rust.first.attach.projects": "true",
|
"CMake 应用程序.pojcs101_T12559_biggest_smallest_combination.executor": "Run",
|
||||||
"settings.editor.selected.configurable": "CPPToolchains"
|
"CMake 应用程序.pojcs101_T27104_chicken_monitors.executor": "Run",
|
||||||
|
"CMake 应用程序.pojcs101_T27373_biggest_combination_t2.executor": "Run",
|
||||||
|
"CMake 应用程序.test.executor": "Run",
|
||||||
|
"CMake 调试.exercises.executor": "Debug",
|
||||||
|
"CidrDebugProfileConversion": "true",
|
||||||
|
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||||
|
"Python.lc_127.executor": "Run",
|
||||||
|
"Python.noi2001_food_chain_dsu.executor": "Run",
|
||||||
|
"Python.pojcs101_M03247_palindromic_prime_init1.executor": "Debug",
|
||||||
|
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"RunOnceActivity.cidr.known.project.marker": "true",
|
||||||
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
|
"RunOnceActivity.readMode.enableVisualFormatting": "true",
|
||||||
|
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
||||||
|
"RunOnceActivity.west.config.association.type.startup.service": "true",
|
||||||
|
"cf.first.check.clang-format": "false",
|
||||||
|
"cidr.known.project.marker": "true",
|
||||||
|
"codeWithMe.voiceChat.enabledByDefault": "false",
|
||||||
|
"deletionFromPopupRequiresConfirmation": "false",
|
||||||
|
"git-widget-placeholder": "main",
|
||||||
|
"last_opened_file_path": "/Users/roger/coding/exercises/graph",
|
||||||
|
"node.js.detected.package.jshint": "true",
|
||||||
|
"node.js.selected.package.jshint": "",
|
||||||
|
"nodejs_package_manager_path": "npm",
|
||||||
|
"org.rust.first.attach.projects": "true",
|
||||||
|
"settings.editor.selected.configurable": "preferences.sourceCode.C++"
|
||||||
}
|
}
|
||||||
}]]></component>
|
}</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/graph" />
|
||||||
<recent name="$PROJECT_DIR$" />
|
<recent name="$PROJECT_DIR$" />
|
||||||
|
<recent name="$PROJECT_DIR$/dp/backpack_dp" />
|
||||||
|
</key>
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/dsa/linear_list" />
|
||||||
|
<recent name="$PROJECT_DIR$/dp/backpack_dp" />
|
||||||
|
<recent name="$PROJECT_DIR$/_others" />
|
||||||
|
<recent name="$PROJECT_DIR$/dp" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="CMake 应用程序.pojcs101_T01011_sticks">
|
<component name="RunManager" selected="CMake 应用程序.dsa__linear_list__dsa_0201_dictionary">
|
||||||
<configuration default="true" type="CMakeBoostTestRunConfigurationType" factoryName="Boost Test" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" TEST_MODE="SUITE_TEST">
|
<configuration default="true" type="CMakeBoostTestRunConfigurationType" factoryName="Boost Test" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" TEST_MODE="SUITE_TEST">
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="BeforeTestRunTask" enabled="true" />
|
<option name="BeforeTestRunTask" enabled="true" />
|
||||||
@@ -191,12 +263,122 @@
|
|||||||
<option name="BeforeTestRunTask" enabled="true" />
|
<option name="BeforeTestRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration name="CMakeCXXCompilerId" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="CMakeCXXCompilerId" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="CMakeCXXCompilerId">
|
<configuration name="JLOI2009_binary_tree" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="JLOI2009_binary_tree" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="JLOI2009_binary_tree">
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true">
|
<configuration name="JLOI2009_binary_tree_GIVEUP" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="JLOI2009_binary_tree_GIVEUP" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="JLOI2009_binary_tree_GIVEUP">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="NOIP2003J_bigint" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="NOIP2003J_bigint" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="NOIP2003J_bigint">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="NOIP2016J_bay" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="NOIP2016J_bay" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="NOIP2016J_bay">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="SHOI2002_ski" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="SHOI2002_ski" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="SHOI2002_ski">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="SHOI2002_ski_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="SHOI2002_ski_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="SHOI2002_ski_WRONG">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="_others__qyz__gdbh" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="_others__qyz__gdbh" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="_others__qyz__gdbh">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="_others__qyz__test" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="_others__qyz__test" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="_others__qyz__test">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__NOIP1996S_miner_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__NOIP1996S_miner_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__NOIP1996S_miner_dp">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__NOIP1996S_miner_dp_MWASTE" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__NOIP1996S_miner_dp_MWASTE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__NOIP1996S_miner_dp_MWASTE">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__SHOI2002_ski_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__SHOI2002_ski_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__SHOI2002_ski_dp">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__TJOI2007_walk_segments_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__TJOI2007_walk_segments_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__TJOI2007_walk_segments_dp">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="dsa__linear_list__dsa_0201_dictionary" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__linear_list__dsa_0201_dictionary" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__linear_list__dsa_0201_dictionary">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="graph__ECNA2001_sort_letters" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="graph__ECNA2001_sort_letters" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__ECNA2001_sort_letters">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="graph__luogu_P3916_graph_iteration" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="graph__luogu_P3916_graph_iteration" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__luogu_P3916_graph_iteration">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="graph__luogu_P3916_graph_iteration_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="graph__luogu_P3916_graph_iteration_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__luogu_P3916_graph_iteration_WRONG">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="lc_135_candy" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="lc_135_candy" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="lc_135_candy">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="luogu_P1160_biodir_linked_list" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="luogu_P1160_biodir_linked_list" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_P1160_biodir_linked_list">
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
@@ -236,16 +418,6 @@
|
|||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration name="pojcs101_M01088_ski" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M01088_ski" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski">
|
|
||||||
<method v="2">
|
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
<configuration name="pojcs101_M01088_ski_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M01088_ski_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski_WRONG">
|
|
||||||
<method v="2">
|
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
<configuration name="pojcs101_M01321_chest_grid" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M01321_chest_grid" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01321_chest_grid">
|
<configuration name="pojcs101_M01321_chest_grid" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M01321_chest_grid" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01321_chest_grid">
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
@@ -311,17 +483,86 @@
|
|||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration name="pojcs101_M03441_sum_zero" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M03441_sum_zero" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03441_sum_zero">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_M03532" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M03532" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03532">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_M03704_brackets" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M03704_brackets" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03704_brackets">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
<configuration name="pojcs101_T01011_sticks" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T01011_sticks" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks">
|
<configuration name="pojcs101_T01011_sticks" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T01011_sticks" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks">
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration name="pojcs101_M03247_palindromic_prime.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M03247_palindromic_prime.cpp" CONFIG_NAME="pojcs101_M03247_palindromic_prime.cpp">
|
<configuration name="pojcs101_T01011_sticks_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T01011_sticks_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks_WRONG">
|
||||||
<option name="sourceFile" value="pojcs101_M03247_palindromic_prime.cpp" />
|
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T04117_split_int" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T04117_split_int" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T04117_split_int">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T12559_biggest_smallest_combination" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T12559_biggest_smallest_combination" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T12559_biggest_smallest_combination">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T12559_biggest_smallest_combination_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T12559_biggest_smallest_combination_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T12559_biggest_smallest_combination_WRONG">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T27104_chicken_monitors" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T27104_chicken_monitors" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27104_chicken_monitors">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T27373_biggest_combination_t2" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T27373_biggest_combination_t2" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27373_biggest_combination_t2">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="pojcs101_T27373_biggest_combination_t2_TLE" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_T27373_biggest_combination_t2_TLE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27373_biggest_combination_t2_TLE">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="noi2001_food_chain_dsu" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
|
<module name="exercises" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="RUN_TOOL" value="" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/noi2001_food_chain_dsu.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
<configuration name="pojcs101_M03247_palindromic_prime_init1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
<configuration name="pojcs101_M03247_palindromic_prime_init1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
<module name="exercises" />
|
<module name="exercises" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
@@ -348,40 +589,139 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp" />
|
<item itemvalue="CMake 应用程序._others__qyz__gdbh" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02746_josephus_problem" />
|
<item itemvalue="CMake 应用程序._others__qyz__test" />
|
||||||
<item itemvalue="CMake 应用程序.CMakeCXXCompilerId" />
|
<item itemvalue="CMake 应用程序.cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__NOIP1996S_miner_dp" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__NOIP1996S_miner_dp_MWASTE" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__SHOI2002_ski_dp" />
|
||||||
|
<item itemvalue="CMake 应用程序.dp__TJOI2007_walk_segments_dp" />
|
||||||
|
<item itemvalue="CMake 应用程序.dsa__linear_list__dsa_0201_dictionary" />
|
||||||
|
<item itemvalue="CMake 应用程序.graph__ECNA2001_sort_letters" />
|
||||||
|
<item itemvalue="CMake 应用程序.graph__luogu_P3916_graph_iteration" />
|
||||||
|
<item itemvalue="CMake 应用程序.graph__luogu_P3916_graph_iteration_WRONG" />
|
||||||
|
<item itemvalue="CMake 应用程序.JLOI2009_binary_tree" />
|
||||||
|
<item itemvalue="CMake 应用程序.JLOI2009_binary_tree_GIVEUP" />
|
||||||
|
<item itemvalue="CMake 应用程序.lc_135_candy" />
|
||||||
<item itemvalue="CMake 应用程序.luogu_ez_B3628" />
|
<item itemvalue="CMake 应用程序.luogu_ez_B3628" />
|
||||||
|
<item itemvalue="CMake 应用程序.luogu_P1160_biodir_linked_list" />
|
||||||
<item itemvalue="CMake 应用程序.luogu_template_dsu_P3367" />
|
<item itemvalue="CMake 应用程序.luogu_template_dsu_P3367" />
|
||||||
|
<item itemvalue="CMake 应用程序.NOIP2003J_bigint" />
|
||||||
|
<item itemvalue="CMake 应用程序.NOIP2016J_bay" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_E01003" />
|
<item itemvalue="CMake 应用程序.pojcs101_E01003" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_E01218" />
|
<item itemvalue="CMake 应用程序.pojcs101_E01218" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_E02883" />
|
<item itemvalue="CMake 应用程序.pojcs101_E02883" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01002_memorable_number" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01002_memorable_number" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01017_6_boxes" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01017_6_boxes" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01088_ski" />
|
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01088_ski_WRONG" />
|
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01321_chest_grid" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01321_chest_grid" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy" />
|
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy_WRONG" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy_WRONG" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01852_ants_falling" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01852_ants_falling" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M01922_ride_follower" />
|
<item itemvalue="CMake 应用程序.pojcs101_M01922_ride_follower" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02039_snakey_encryption" />
|
<item itemvalue="CMake 应用程序.pojcs101_M02039_snakey_encryption" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02431_cows_gas_leak_WRONG" />
|
<item itemvalue="CMake 应用程序.pojcs101_M02431_cows_gas_leak_WRONG" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02524_ubiquitous_religions_dsu" />
|
<item itemvalue="CMake 应用程序.pojcs101_M02524_ubiquitous_religions_dsu" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins" />
|
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins_WRONG" />
|
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins_WRONG" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M02694_polish_notation_tree" />
|
<item itemvalue="CMake 应用程序.pojcs101_M02694_polish_notation_tree" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M02746_josephus_problem" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_M03247_palindromic_prime" />
|
<item itemvalue="CMake 应用程序.pojcs101_M03247_palindromic_prime" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M03441_sum_zero" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M03532" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_M03704_brackets" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T01011_sticks_WRONG" />
|
||||||
<item itemvalue="CMake 应用程序.pojcs101_T01011_sticks" />
|
<item itemvalue="CMake 应用程序.pojcs101_T01011_sticks" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T04117_split_int" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T12559_biggest_smallest_combination_WRONG" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T12559_biggest_smallest_combination" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T27104_chicken_monitors" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T27373_biggest_combination_t2" />
|
||||||
|
<item itemvalue="CMake 应用程序.pojcs101_T27373_biggest_combination_t2_TLE" />
|
||||||
|
<item itemvalue="CMake 应用程序.SHOI2002_ski" />
|
||||||
|
<item itemvalue="CMake 应用程序.SHOI2002_ski_WRONG" />
|
||||||
|
<item itemvalue="Python.noi2001_food_chain_dsu" />
|
||||||
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
|
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
|
||||||
</list>
|
</list>
|
||||||
<recent_temporary>
|
<recent_temporary>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp" />
|
|
||||||
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
|
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
|
||||||
|
<item itemvalue="Python.noi2001_food_chain_dsu" />
|
||||||
</list>
|
</list>
|
||||||
</recent_temporary>
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="SelectedDebugProfileService">{
|
||||||
|
"profileIdByStamp": [
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.JLOI2009_binary_tree",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序._others__qyz__gdbh",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.dp__TJOI2007_walk_segments_dp",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.luogu_P1160_biodir_linked_list",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.NOIP2016J_bay",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.graph__luogu_P3916_graph_iteration",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__linear_list__dsa_0201_dictionary",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.NOIP2003J_bigint",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first": {
|
||||||
|
"##RUN_CONFIGURATION##": "CMake 应用程序.pojcs101_T27373_biggest_combination_t2",
|
||||||
|
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||||
|
},
|
||||||
|
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"modificationCount": 69
|
||||||
|
}</component>
|
||||||
<component name="SharedIndexes">
|
<component name="SharedIndexes">
|
||||||
<attachedChunks>
|
<attachedChunks>
|
||||||
<set>
|
<set>
|
||||||
@@ -399,6 +739,8 @@
|
|||||||
<updated>1784800801763</updated>
|
<updated>1784800801763</updated>
|
||||||
<workItem from="1784856532675" duration="4766000" />
|
<workItem from="1784856532675" duration="4766000" />
|
||||||
<workItem from="1785509013065" duration="2577000" />
|
<workItem from="1785509013065" duration="2577000" />
|
||||||
|
<workItem from="1785852394849" duration="8298000" />
|
||||||
|
<workItem from="1785935635180" duration="9461000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
@@ -412,29 +754,53 @@
|
|||||||
<isAutomaticBootstrapAfterUpdate value="false" />
|
<isAutomaticBootstrapAfterUpdate value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="VcsManagerConfiguration">
|
<component name="VcsManagerConfiguration">
|
||||||
<MESSAGE value="1" />
|
|
||||||
<MESSAGE value="CMakeLists.txt" />
|
<MESSAGE value="CMakeLists.txt" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="CMakeLists.txt" />
|
<MESSAGE value="1" />
|
||||||
|
<MESSAGE value="Update CMakeLists.txt" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="Update CMakeLists.txt" />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
<breakpoints>
|
<breakpoints>
|
||||||
<line-breakpoint enabled="true" type="CMakeLineBreakpoint">
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
<url>file://$PROJECT_DIR$/CMakeLists.txt</url>
|
<url>file://$PROJECT_DIR$/noi2001_food_chain_dsu.py</url>
|
||||||
<line>12</line>
|
<line>75</line>
|
||||||
<option name="timeStamp" value="7" />
|
<option name="timeStamp" value="6" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
|
<url>file://$PROJECT_DIR$/pojcs101_M03441_sum_zero.cpp</url>
|
||||||
|
<line>32</line>
|
||||||
|
<option name="timeStamp" value="15" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
|
<url>file://$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp</url>
|
||||||
|
<line>35</line>
|
||||||
|
<option name="timeStamp" value="24" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
|
<url>file://$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp</url>
|
||||||
|
<line>45</line>
|
||||||
|
<option name="timeStamp" value="25" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
|
<url>file://$PROJECT_DIR$/graph/luogu_P3916_graph_iteration.cpp</url>
|
||||||
|
<line>66</line>
|
||||||
|
<option name="timeStamp" value="36" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
<default-breakpoints>
|
|
||||||
<breakpoint type="CMakeExceptionBreakpoint" />
|
|
||||||
</default-breakpoints>
|
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
|
<watches-manager>
|
||||||
|
<configuration name="CMakeRunConfiguration">
|
||||||
|
<watch expression="ans_cache" language="C++" />
|
||||||
|
</configuration>
|
||||||
|
</watches-manager>
|
||||||
</component>
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
<expand />
|
<expand />
|
||||||
<select />
|
<select />
|
||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||||
|
<SUITE FILE_PATH="coverage/exercises$noi2001_food_chain_dsu.coverage" NAME="noi2001_food_chain_dsu 覆盖结果" MODIFIED="1785943248536" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
<SUITE FILE_PATH="coverage/exercises$lc_127.coverage" NAME="lc_127 覆盖结果" MODIFIED="1784859593317" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
<SUITE FILE_PATH="coverage/exercises$lc_127.coverage" NAME="lc_127 覆盖结果" MODIFIED="1784859593317" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
<SUITE FILE_PATH="coverage/exercises$pojcs101_M03247_palindromic_prime_init1.coverage" NAME="pojcs101_M03247_palindromic_prime_init1 覆盖结果" MODIFIED="1785513899078" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
<SUITE FILE_PATH="coverage/exercises$pojcs101_M03247_palindromic_prime_init1.coverage" NAME="pojcs101_M03247_palindromic_prime_init1 覆盖结果" MODIFIED="1785513899078" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
+19
-5
@@ -1,15 +1,29 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(exercises)
|
project(exercises)
|
||||||
|
|
||||||
# 设置 C++ 标准(例如 C++17)
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# 递归查找当前目录下所有的 .cpp 文件
|
|
||||||
file(GLOB_RECURSE SOURCES "*.cpp")
|
file(GLOB_RECURSE SOURCES "*.cpp")
|
||||||
|
|
||||||
# 遍历所有找到的 .cpp 文件,为每个文件单独创建一个可执行目标
|
|
||||||
foreach (source ${SOURCES})
|
foreach (source ${SOURCES})
|
||||||
# 获取文件名(不带扩展名)作为可执行文件的名字
|
# 获取源文件所在目录(绝对路径)
|
||||||
|
get_filename_component(dir ${source} DIRECTORY)
|
||||||
|
# 计算相对于源码根目录的路径
|
||||||
|
file(RELATIVE_PATH rel_dir ${CMAKE_CURRENT_SOURCE_DIR} ${dir})
|
||||||
|
# 获取文件名(不带扩展名)
|
||||||
get_filename_component(name ${source} NAME_WE)
|
get_filename_component(name ${source} NAME_WE)
|
||||||
add_executable(${name} ${source})
|
|
||||||
|
# 构造带相对路径的目标名,例如 src_utils_foo
|
||||||
|
if (rel_dir STREQUAL "")
|
||||||
|
set(target_name "${name}")
|
||||||
|
else ()
|
||||||
|
string(REPLACE "/" "__" rel_dir_flat "${rel_dir}")
|
||||||
|
set(target_name "${rel_dir_flat}__${name}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
add_executable(${target_name} ${source})
|
||||||
|
# 顺便把可执行文件输出到与源文件对应的目录中(可选)
|
||||||
|
set_target_properties(${target_name} PROPERTIES
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${rel_dir}"
|
||||||
|
)
|
||||||
endforeach ()
|
endforeach ()
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Graph {
|
||||||
|
public:
|
||||||
|
struct Node {
|
||||||
|
vector<int> neighbors;
|
||||||
|
int father = -1;
|
||||||
|
int depth = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<Node> nodes;
|
||||||
|
int depth = -1, breadth = -1;
|
||||||
|
|
||||||
|
void connect(int x, int y) {
|
||||||
|
assert(x < nodes.size() && y < nodes.size());
|
||||||
|
nodes[x].neighbors.push_back(y);
|
||||||
|
nodes[y].neighbors.push_back(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_tree() {
|
||||||
|
vector<int> depths_map;
|
||||||
|
init_tree(0, 0, depths_map);
|
||||||
|
depth = depths_map.size();
|
||||||
|
breadth = -1;
|
||||||
|
for (const auto& d : depths_map) {
|
||||||
|
breadth = max(breadth, d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_tree(int node_idx, int current_depth, vector<int>& depths_map) {
|
||||||
|
if (depths_map.size() <= current_depth) { depths_map.push_back(0); }
|
||||||
|
depths_map[current_depth]++;
|
||||||
|
for (const auto& neighbor : nodes[node_idx].neighbors) {
|
||||||
|
if (neighbor == nodes[node_idx].father) { continue; }
|
||||||
|
nodes[neighbor].father = node_idx;
|
||||||
|
nodes[neighbor].depth = current_depth + 1;
|
||||||
|
init_tree(neighbor, current_depth + 1, depths_map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int get_cost(int start, int end) {
|
||||||
|
int cost = 0;
|
||||||
|
while (nodes[start].depth > nodes[end].depth) {
|
||||||
|
cost += 2;
|
||||||
|
start = nodes[start].father;
|
||||||
|
}
|
||||||
|
while (nodes[start].depth < nodes[end].depth) {
|
||||||
|
cost += 1;
|
||||||
|
end = nodes[end].father;
|
||||||
|
}
|
||||||
|
while (start != end) {
|
||||||
|
cost += 3;
|
||||||
|
start = nodes[start].father;
|
||||||
|
end = nodes[end].father;
|
||||||
|
}
|
||||||
|
return cost;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Graph tree;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
tree.nodes.resize(n);
|
||||||
|
for (int _ = 1; _ < n; _++) {
|
||||||
|
cin >> x >> y;
|
||||||
|
tree.connect(x - 1, y - 1);
|
||||||
|
}
|
||||||
|
tree.init_tree();
|
||||||
|
cout << tree.depth << endl << tree.breadth << endl;
|
||||||
|
|
||||||
|
cin >> x >> y;
|
||||||
|
cout << tree.get_cost(x - 1, y - 1) << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class BinaryTree {
|
||||||
|
public:
|
||||||
|
struct Node {
|
||||||
|
int left = -1, right = -1, father = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<Node> nodes;
|
||||||
|
|
||||||
|
int depth = -1, breadth = -1;
|
||||||
|
|
||||||
|
void connect(int father, int son) {
|
||||||
|
assert(father < nodes.size() && son < nodes.size());
|
||||||
|
if (nodes[son].father != -1 && nodes[father].father == -1) { swap(father, son); }
|
||||||
|
nodes[son].father = father;
|
||||||
|
if (nodes[father].left == -1) {
|
||||||
|
nodes[father].left = son;
|
||||||
|
} else {
|
||||||
|
nodes[father].right = son;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void dfs() {
|
||||||
|
depth = -1, breadth = -1;
|
||||||
|
vector<int> depths_map;
|
||||||
|
dfs(0, 0, depths_map);
|
||||||
|
for (const int d : depths_map) {
|
||||||
|
breadth = max(breadth, d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void dfs(int node_idx, int _depth, vector<int>& depths_map) {
|
||||||
|
depth = max(depth, _depth);
|
||||||
|
if (_depth >= depths_map.size()) {
|
||||||
|
depths_map.push_back(0);
|
||||||
|
}
|
||||||
|
depths_map[_depth]++;
|
||||||
|
if (nodes[node_idx].left != -1) {
|
||||||
|
dfs(nodes[node_idx].left, _depth + 1, depths_map);
|
||||||
|
}
|
||||||
|
if (nodes[node_idx].right != -1) {
|
||||||
|
dfs(nodes[node_idx].right, _depth + 1, depths_map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
BinaryTree tree;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
tree.nodes.resize(n);
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
#include <cmath>
|
||||||
|
#include <iostream>
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
/// 只处理 500 位!
|
||||||
|
class BigInt {
|
||||||
|
public:
|
||||||
|
using bigint = vector<unsigned long long>;
|
||||||
|
static constexpr unsigned int BASE_DIGITS = 8;
|
||||||
|
const unsigned long long BASE = static_cast<unsigned long long>(std::pow(10, BASE_DIGITS));
|
||||||
|
static constexpr size_t TARGET_SIZE = 125;
|
||||||
|
bigint value;
|
||||||
|
|
||||||
|
BigInt() : value({0}) { organize(); }
|
||||||
|
BigInt(bigint v) : value(std::move(v)) { organize(); }
|
||||||
|
|
||||||
|
BigInt(unsigned long long v) {
|
||||||
|
value.push_back(v);
|
||||||
|
organize();
|
||||||
|
}
|
||||||
|
|
||||||
|
void organize() {
|
||||||
|
value.resize(TARGET_SIZE, 0);
|
||||||
|
for (int i = 0; i < TARGET_SIZE - 1; i++) {
|
||||||
|
value[i + 1] += value[i] / BASE;
|
||||||
|
value[i] %= BASE;
|
||||||
|
}
|
||||||
|
value[TARGET_SIZE - 1] %= BASE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BigInt& operator=(const BigInt& other) {
|
||||||
|
value = other.value;
|
||||||
|
organize();
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
BigInt operator*(const BigInt& other) const {
|
||||||
|
BigInt ans(0);
|
||||||
|
for (int i = 0; i < TARGET_SIZE; i++) {
|
||||||
|
for (int j = 0; i + j < TARGET_SIZE; j++) {
|
||||||
|
ans.value[i + j] += value[i] * other.value[j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ans.organize();
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
BigInt operator*(const unsigned long other) const {
|
||||||
|
BigInt ans(*this);
|
||||||
|
ans.value[0] *= other;
|
||||||
|
ans.organize();
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
BigInt operator*=(const T& other) {
|
||||||
|
*this = *this * other;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[[nodiscard]] BigInt pow(unsigned int exp) const {
|
||||||
|
if (exp == 0) { return {1}; }
|
||||||
|
if (exp == 1) { return *this; }
|
||||||
|
BigInt ans = (*this * *this).pow(exp / 2);
|
||||||
|
if (exp % 2 == 1) {
|
||||||
|
ans *= *this;
|
||||||
|
}
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
[[nodiscard]] string to_string(size_t digits = 500) const {
|
||||||
|
string s;
|
||||||
|
for (int i = 0; i < TARGET_SIZE; i++) {
|
||||||
|
string current = std::to_string(value[i]);
|
||||||
|
if (current.size() < BASE_DIGITS) {
|
||||||
|
current.insert(0, BASE_DIGITS - current.size(), '0');
|
||||||
|
}
|
||||||
|
s.insert(0, current);
|
||||||
|
}
|
||||||
|
return s.substr(s.size() - digits, s.size());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
unsigned int exp;
|
||||||
|
cin >> exp;
|
||||||
|
cout << floor(exp * log10(2)) + 1 << endl;
|
||||||
|
BigInt ans = BigInt(2).pow(exp);
|
||||||
|
ans.value[0] -= 1; // 2^n 没问题
|
||||||
|
string s = ans.to_string(500);
|
||||||
|
for (int i = 0; i < 500; i += 50) {
|
||||||
|
cout << s.substr(i, 50) << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* 在线处理?
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
using Boat = pair<int, vector<int>>;
|
||||||
|
|
||||||
|
constexpr int MAX_N = 1e5 + 5, DAY_TIME = 86400;
|
||||||
|
|
||||||
|
vector<Boat> boats;
|
||||||
|
unordered_map<int, int> nations_statistics;
|
||||||
|
int start_time = -DAY_TIME, current_time = 0, pointer = 0, nations_count;
|
||||||
|
|
||||||
|
void modify_nations_statistics(vector<int> people, int multiplier = 1) {
|
||||||
|
for (int nation : people) {
|
||||||
|
if (nations_statistics[nation] == 0) { nations_count++; }
|
||||||
|
nations_statistics[nation] += multiplier;
|
||||||
|
if (nations_statistics[nation] == 0) { nations_count--; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int count_nations() {
|
||||||
|
// int ans = 0;
|
||||||
|
// for (auto& [nation, count] : nations_statistics) {
|
||||||
|
// if (count > 0) { ans++; }
|
||||||
|
// }
|
||||||
|
// return ans;
|
||||||
|
return nations_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int n;
|
||||||
|
cin >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
int arrival_time, people_amount;
|
||||||
|
cin >> arrival_time >> people_amount;
|
||||||
|
boats.emplace_back(arrival_time, vector<int>(people_amount));
|
||||||
|
for (int j = 0; j < people_amount; j++) {
|
||||||
|
cin >> boats.back().second[j];
|
||||||
|
}
|
||||||
|
// ONLINE
|
||||||
|
modify_nations_statistics(boats.back().second);
|
||||||
|
start_time = arrival_time - DAY_TIME;
|
||||||
|
while (pointer < boats.size() && boats[pointer].first <= start_time) {
|
||||||
|
modify_nations_statistics(boats[pointer].second, -1);
|
||||||
|
pointer++;
|
||||||
|
}
|
||||||
|
cout << count_nations() << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for (int i = 0, j = 0; i < boats.size(); i++) {
|
||||||
|
// current_time = boats[i].first + DAY_TIME;
|
||||||
|
// // modify_nations_statistics(boats[i].second);
|
||||||
|
// while (j < boats.size() && boats[j].first <= current_time) {
|
||||||
|
// modify_nations_statistics(boats[j].second);
|
||||||
|
// j++;
|
||||||
|
// }
|
||||||
|
// cout << count_nations() << endl;
|
||||||
|
// modify_nations_statistics(boats[i].second, -1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int primes[2001];
|
||||||
|
|
||||||
|
bool is_prime(int a) {
|
||||||
|
for (int i = 2; i * i <= a; i++) {
|
||||||
|
if (a % i != 0) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_primes() {
|
||||||
|
int current_num = 2, i = 0;
|
||||||
|
for (;; current_num++) {
|
||||||
|
if (is_prime(current_num)) {
|
||||||
|
primes[i] = current_num;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
int a;
|
||||||
|
cin >> a;
|
||||||
|
if (a % 2 != 0 || a < 6) {
|
||||||
|
cout << "Error!" << endl;
|
||||||
|
} else
|
||||||
|
for (int i = 0; primes[i] <= a / 2; i++) {
|
||||||
|
if (is_prime(a - primes[i])) {
|
||||||
|
cout << a << "=" << i << "+" << a - i << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
|
// x[0]..x[99]
|
||||||
|
|
||||||
|
bool is_prime(int n) {
|
||||||
|
for (int i=2; i*i<=n; i++) {
|
||||||
|
if (n%i == 0) {return false;}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
cout << is_prime(4);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Node {
|
||||||
|
int mine_amount = -1, prev = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 25, INF = 0x3f3f3f3f;
|
||||||
|
int n, mine_amounts[MAX_N];
|
||||||
|
bool adj[MAX_N][MAX_N];
|
||||||
|
|
||||||
|
// int dp[MAX_N][MAX_N];
|
||||||
|
Node dp_route[MAX_N];
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
for (int i=0; i<n; i++) {
|
||||||
|
dp_route[i] = {.mine_amount = mine_amounts[i]};
|
||||||
|
}
|
||||||
|
for (int current = 1; current < n; current++) {
|
||||||
|
for (int prev = 0; prev < current; prev++) {
|
||||||
|
if (adj[prev][current]) {
|
||||||
|
int new_ans = dp_route[prev].mine_amount + mine_amounts[current];
|
||||||
|
if (new_ans > dp_route[current].mine_amount) {
|
||||||
|
dp_route[current] = {.mine_amount = new_ans, .prev = prev};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void print_route() {
|
||||||
|
int max_ans = -1, max_idx = -1;
|
||||||
|
vector<int> final_route;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (dp_route[i].mine_amount > max_ans) {
|
||||||
|
max_ans = dp_route[i].mine_amount;
|
||||||
|
max_idx = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (max_idx != -1) {
|
||||||
|
final_route.push_back(max_idx);
|
||||||
|
max_idx = dp_route[max_idx].prev;
|
||||||
|
}
|
||||||
|
reverse(final_route.begin(), final_route.end());
|
||||||
|
for (const int i : final_route) {
|
||||||
|
cout << i + 1 << " ";
|
||||||
|
}
|
||||||
|
cout << endl << max_ans << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
// for (int j = 0; j < n; j++) {
|
||||||
|
// clog << dp[i][j] << " ";
|
||||||
|
// }
|
||||||
|
clog << "->" << dp_route[i].mine_amount << " " << dp_route[i].prev << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> mine_amounts[i];
|
||||||
|
}
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
for (int j = i + 1; j < n; j++) {
|
||||||
|
cin >> adj[i][j];
|
||||||
|
adj[j][i] = adj[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
log_dp();
|
||||||
|
print_route();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Node {
|
||||||
|
int mine_amount = -1, prev = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 25, INF = 0x3f3f3f3f;
|
||||||
|
int n, mine_amounts[MAX_N];
|
||||||
|
bool adj[MAX_N][MAX_N];
|
||||||
|
|
||||||
|
int dp[MAX_N][MAX_N];
|
||||||
|
Node dp_route[MAX_N];
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
memset(dp, -1, sizeof(dp));
|
||||||
|
for (int i=0; i<n; i++) {
|
||||||
|
dp_route[i] = {.mine_amount = mine_amounts[i]};
|
||||||
|
}
|
||||||
|
for (int current = 1; current < n; current++) {
|
||||||
|
for (int prev = 0; prev < current; prev++) {
|
||||||
|
if (adj[prev][current]) {
|
||||||
|
dp[current][prev] = dp_route[prev].mine_amount + mine_amounts[current];
|
||||||
|
if (dp[current][prev] > dp_route[current].mine_amount) {
|
||||||
|
dp_route[current] = {.mine_amount = dp[current][prev], .prev = prev};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void print_route() {
|
||||||
|
int max_ans = -1, max_idx = -1;
|
||||||
|
vector<int> final_route;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (dp_route[i].mine_amount > max_ans) {
|
||||||
|
max_ans = dp_route[i].mine_amount;
|
||||||
|
max_idx = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (max_idx != -1) {
|
||||||
|
final_route.push_back(max_idx);
|
||||||
|
max_idx = dp_route[max_idx].prev;
|
||||||
|
}
|
||||||
|
reverse(final_route.begin(), final_route.end());
|
||||||
|
for (const int i : final_route) {
|
||||||
|
cout << i + 1 << " ";
|
||||||
|
}
|
||||||
|
cout << endl << max_ans << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
for (int j = 0; j < n; j++) {
|
||||||
|
clog << dp[i][j] << " ";
|
||||||
|
}
|
||||||
|
clog << "->" << dp_route[i].mine_amount << " " << dp_route[i].prev << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> mine_amounts[i];
|
||||||
|
}
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
for (int j = i + 1; j < n; j++) {
|
||||||
|
cin >> adj[i][j];
|
||||||
|
adj[j][i] = adj[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
log_dp();
|
||||||
|
print_route();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Node {
|
||||||
|
int x, y, height;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 105;
|
||||||
|
constexpr short DX[4] = {0, 1, 0, -1}, DY[4] = {1, 0, -1, 0};
|
||||||
|
int r, c;
|
||||||
|
int heights[MAX_N][MAX_N];
|
||||||
|
vector<int> adj_nodes[MAX_N * MAX_N];
|
||||||
|
vector<Node> nodes;
|
||||||
|
|
||||||
|
int dp[MAX_N * MAX_N];
|
||||||
|
|
||||||
|
int pack_coord(int x, int y) {
|
||||||
|
return x * c + y;
|
||||||
|
}
|
||||||
|
|
||||||
|
int pack_coord(Node node) {
|
||||||
|
return pack_coord(node.x, node.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool within_board(int x, int y) {
|
||||||
|
return 0 <= x && x < r && 0 <= y && y < c;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
for (int i = 0; i < r * c; i++) {
|
||||||
|
clog << dp[i] << "\t";
|
||||||
|
if (i % c == c - 1) {
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void log_adj_nodes() {
|
||||||
|
for (int i = 0; i < r * c; i++) {
|
||||||
|
clog << i << " -> ";
|
||||||
|
for (int adj_node : adj_nodes[i]) {
|
||||||
|
clog << adj_node << " ";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_adj_nodes() {
|
||||||
|
for (int i = 0; i < r; i++) {
|
||||||
|
for (int j = 0; j < c; j++) {
|
||||||
|
nodes.push_back({i, j, heights[i][j]});
|
||||||
|
int x = i, y = j;
|
||||||
|
for (int k = 0; k < 4; k++) {
|
||||||
|
int nx = x + DX[k], ny = y + DY[k];
|
||||||
|
if (within_board(nx, ny) && heights[nx][ny] > heights[x][y]) {
|
||||||
|
// 反向建图,小 -> 大
|
||||||
|
adj_nodes[pack_coord(x, y)].push_back(pack_coord(nx, ny));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sort(nodes.begin(), nodes.end(), [](const Node& a, const Node& b) {
|
||||||
|
return a.height > b.height;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
dp[pack_coord(nodes[0])] = 1;
|
||||||
|
for (int i = 1; i < nodes.size(); i++) {
|
||||||
|
Node curr_node = nodes[i];
|
||||||
|
int max_dp = 0;
|
||||||
|
for (int adj_node : adj_nodes[pack_coord(curr_node)]) {
|
||||||
|
max_dp = max(max_dp, dp[adj_node]);
|
||||||
|
}
|
||||||
|
dp[pack_coord(curr_node)] = max_dp + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int get_ans() {
|
||||||
|
int max_dp = -1;
|
||||||
|
for (int i = 0; i < r * c; i++) {
|
||||||
|
max_dp = max(max_dp, dp[i]);
|
||||||
|
}
|
||||||
|
return max_dp;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> r >> c;
|
||||||
|
for (int i = 0; i < r; i++) {
|
||||||
|
for (int j = 0; j < c; j++) {
|
||||||
|
cin >> heights[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
init_adj_nodes();
|
||||||
|
solve_dp();
|
||||||
|
log_adj_nodes();
|
||||||
|
log_dp();
|
||||||
|
cout << get_ans() << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
using Segment = pair<int, int>;
|
||||||
|
|
||||||
|
constexpr int MAX_N = 20005;
|
||||||
|
int n;
|
||||||
|
Segment segments[MAX_N];
|
||||||
|
|
||||||
|
pair<int, int> dp[MAX_N]; // 从这一层的线段左/右边出去
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
clog << dp[i].first << "\t" << dp[i].second << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pair<int, int> get_min_steps(const Segment& segment, const int start_pos) {
|
||||||
|
const int len = segment.second - segment.first;
|
||||||
|
if (start_pos <= segment.first) {
|
||||||
|
return {segment.second - start_pos + len, segment.second - start_pos};
|
||||||
|
}
|
||||||
|
if (start_pos >= segment.second) {
|
||||||
|
return {start_pos - segment.first, start_pos - segment.first + len};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
len + (segment.second - start_pos),
|
||||||
|
len + (start_pos - segment.first)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// pair<int, int> get_min_steps(const Segment& segment, const Segment& previous_segment) {
|
||||||
|
// auto [first1, second1] = get_min_steps(segment, previous_segment.second);
|
||||||
|
// auto [first2, second2] = get_min_steps(segment, previous_segment.first);
|
||||||
|
// return {min(first1, first2), min(second1, second2)};
|
||||||
|
// }
|
||||||
|
|
||||||
|
int solve_dp() {
|
||||||
|
dp[0] = get_min_steps(segments[0], 1);
|
||||||
|
for (int i = 1; i < n; i++) {
|
||||||
|
auto [first1, second1] = get_min_steps(segments[i], segments[i - 1].first);
|
||||||
|
auto [first2, second2] = get_min_steps(segments[i], segments[i - 1].second);
|
||||||
|
first1 += dp[i - 1].first, second1 += dp[i - 1].first;
|
||||||
|
first2 += dp[i - 1].second, second2 += dp[i - 1].second;
|
||||||
|
dp[i] = {min(first1, first2), min(second1, second2)};
|
||||||
|
}
|
||||||
|
return min(dp[n - 1].first, dp[n - 1].second);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> segments[i].first >> segments[i].second;
|
||||||
|
}
|
||||||
|
segments[n] = {n, n}, n++;
|
||||||
|
cout << solve_dp() + n - 2 << endl;
|
||||||
|
log_dp();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Item {
|
||||||
|
int weight, value;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
|
||||||
|
int capacity, n;
|
||||||
|
Item items[MAX_N];
|
||||||
|
int dp[MAX_CAPACITY];
|
||||||
|
bool ping_pong;
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
// for (int i = 0; i <= 1; i++) {
|
||||||
|
for (int j = 0; j <= capacity; j++) {
|
||||||
|
clog << dp[j] << "\t";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
// for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
|
||||||
|
// for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
|
||||||
|
for (int stop_item = 1; stop_item <= n; stop_item++, ping_pong = !ping_pong) {
|
||||||
|
for (int w = capacity; w >= 1; w--) {
|
||||||
|
if (w >= items[stop_item - 1].weight) { // 负数
|
||||||
|
dp[w] = max(dp[w],
|
||||||
|
dp[w - items[stop_item - 1].weight] + items[stop_item - 1].value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// log_dp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> capacity >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> items[i].weight >> items[i].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
cout << dp[capacity] << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* 背包 DP:考虑前 i 个物品的最大价值,在仅有 t 容量的情况下。
|
||||||
|
* 建议两个维度调换一下,方便乒乓/滚动。
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Item {
|
||||||
|
int weight, value;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
|
||||||
|
int capacity, n;
|
||||||
|
Item items[MAX_N];
|
||||||
|
int dp[MAX_CAPACITY][MAX_N];
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
for (int i = 0; i <= capacity; i++) { dp[i][0] = 0; }
|
||||||
|
for (int i = 0; i <= n; i++) { dp[0][i] = 0; }
|
||||||
|
for (int stop_item = 1; stop_item <= n; stop_item++) {
|
||||||
|
for (int w = 1; w <= capacity; w++) {
|
||||||
|
dp[w][stop_item] = dp[w][stop_item - 1];
|
||||||
|
if (w >= items[stop_item - 1].weight) { // 负数
|
||||||
|
dp[w][stop_item] =
|
||||||
|
max(dp[w][stop_item],
|
||||||
|
dp[w - items[stop_item - 1].weight][stop_item - 1] + items[stop_item - 1].value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> capacity >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> items[i].weight >> items[i].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
cout << dp[capacity][n] << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/*
|
||||||
|
* 背包 DP:考虑前 i 个物品的最大价值,在仅有 t 容量的情况下。
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Item {
|
||||||
|
int weight, value;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
|
||||||
|
int capacity, n;
|
||||||
|
Item items[MAX_N];
|
||||||
|
int dp[MAX_N][MAX_CAPACITY];
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
for (int i = 0; i <= n; i++) {
|
||||||
|
for (int j = 0; j <= capacity; j++) {
|
||||||
|
clog << dp[i][j] << "\t";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
|
||||||
|
for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
|
||||||
|
for (int stop_item = 1; stop_item <= n; stop_item++) {
|
||||||
|
for (int w = 1; w <= capacity; w++) {
|
||||||
|
dp[stop_item][w] = dp[stop_item - 1][w];
|
||||||
|
if (w >= items[stop_item - 1].weight) { // 负数
|
||||||
|
dp[stop_item][w] =
|
||||||
|
max(dp[stop_item][w],
|
||||||
|
dp[stop_item - 1][w - items[stop_item - 1].weight] + items[stop_item - 1].value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> capacity >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> items[i].weight >> items[i].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
log_dp();
|
||||||
|
cout << dp[n][capacity] << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Item {
|
||||||
|
int weight, value;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
|
||||||
|
int capacity, n;
|
||||||
|
Item items[MAX_N];
|
||||||
|
int dp[2][MAX_CAPACITY];
|
||||||
|
bool ping_pong;
|
||||||
|
|
||||||
|
void log_dp() {
|
||||||
|
// for (int i = 0; i <= 1; i++) {
|
||||||
|
for (int j = 0; j <= capacity; j++) {
|
||||||
|
clog << dp[ping_pong][j] << "\t";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
// for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
|
||||||
|
// for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
|
||||||
|
for (int stop_item = 1; stop_item <= n; stop_item++, ping_pong = !ping_pong) {
|
||||||
|
for (int w = 1; w <= capacity; w++) {
|
||||||
|
dp[ping_pong][w] = dp[!ping_pong][w];
|
||||||
|
if (w >= items[stop_item - 1].weight) { // 负数
|
||||||
|
dp[ping_pong][w] =
|
||||||
|
max(dp[ping_pong][w],
|
||||||
|
dp[!ping_pong][w - items[stop_item - 1].weight] + items[stop_item - 1].value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// log_dp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> capacity >> n;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> items[i].weight >> items[i].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
cout << dp[!ping_pong][capacity] << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct FlatItem {
|
||||||
|
int weight, value;
|
||||||
|
|
||||||
|
FlatItem operator+(const FlatItem& other) const {
|
||||||
|
return {.weight = weight + other.weight, .value = value + other.value};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct OriginalItem {
|
||||||
|
FlatItem item{};
|
||||||
|
vector<FlatItem> sons;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_N = 65, MAX_CAPACITY = 32005;
|
||||||
|
|
||||||
|
int capacity, n;
|
||||||
|
vector<OriginalItem> items;
|
||||||
|
vector<FlatItem> flat_items;
|
||||||
|
int fathers_temp[MAX_N];
|
||||||
|
|
||||||
|
int dp[MAX_CAPACITY];
|
||||||
|
|
||||||
|
vector<FlatItem> generate_flat_items(OriginalItem item) {
|
||||||
|
switch (item.sons.size()) {
|
||||||
|
case 0:
|
||||||
|
return vector{item.item};
|
||||||
|
case 1:
|
||||||
|
return vector{
|
||||||
|
item.item,
|
||||||
|
item.sons[0] + item.item,
|
||||||
|
};
|
||||||
|
case 2:
|
||||||
|
return vector{
|
||||||
|
item.item,
|
||||||
|
item.sons[0] + item.item,
|
||||||
|
item.sons[1] + item.item,
|
||||||
|
item.sons[0] + item.sons[1] + item.item,
|
||||||
|
};
|
||||||
|
default:
|
||||||
|
throw logic_error("Invalid item size!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void solve_dp() {
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (items[i].item.value == -1) { continue; }
|
||||||
|
for (int w = capacity; w >= 1; w--) {
|
||||||
|
// dp[w] = dp[w] // 不买
|
||||||
|
for (const auto& [weight, value] : generate_flat_items(items[i])) {
|
||||||
|
if (w >= weight) {
|
||||||
|
dp[w] = max(dp[w], dp[w - weight] + value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> capacity >> n;
|
||||||
|
items.resize(n);
|
||||||
|
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cin >> items[i].item.weight >> items[i].item.value >> fathers_temp[i];
|
||||||
|
items[i].item.value *= items[i].item.weight; // 题意
|
||||||
|
}
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (fathers_temp[i] != 0) {
|
||||||
|
items[fathers_temp[i] - 1].sons.push_back(items[i].item);
|
||||||
|
items[i].item.value = -1; // 删掉这个元素!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
solve_dp();
|
||||||
|
cout << dp[capacity] << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#include <cassert>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
vector<string> words;
|
||||||
|
|
||||||
|
string deleted_char(const string& word, const int idx) {
|
||||||
|
assert(0 <= idx && idx < word.size());
|
||||||
|
return word.substr(0, idx) + word.substr(idx + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
vector<string> query(const string& s) {
|
||||||
|
vector<string> results;
|
||||||
|
for (string word : words) {
|
||||||
|
switch (static_cast<int>(word.size()) - static_cast<int>(s.size())) {
|
||||||
|
case 1: { // 需要删
|
||||||
|
for (int i = 0; i < word.size(); i++) {
|
||||||
|
if (word[i] != s[i]) {
|
||||||
|
if (deleted_char(word, i) == s) {
|
||||||
|
results.push_back(word);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case -1: {
|
||||||
|
for (int i = 0; i < s.size(); i++) {
|
||||||
|
if (word[i] != s[i]) {
|
||||||
|
if (deleted_char(s, i) == word) {
|
||||||
|
results.push_back(word);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0: {
|
||||||
|
if (word == s) { return vector{word}; }
|
||||||
|
int diff_count = 0;
|
||||||
|
for (int i = 0; i < s.size(); i++) {
|
||||||
|
if (word[i] != s[i]) {
|
||||||
|
diff_count++;
|
||||||
|
}
|
||||||
|
if (diff_count > 1) { break; }
|
||||||
|
}
|
||||||
|
if (diff_count == 1) {
|
||||||
|
results.push_back(word);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
string s;
|
||||||
|
while (cin >> s && s[0] != '#') {
|
||||||
|
words.push_back(s);
|
||||||
|
}
|
||||||
|
while (cin >> s && s[0] != '#') {
|
||||||
|
vector<string> results = query(s);
|
||||||
|
if (!results.empty() && results[0] == s) {
|
||||||
|
cout << s << " is correct" << endl;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
cout << s << ": ";
|
||||||
|
for (const string& result : results) {
|
||||||
|
cout << result << " ";
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Graph {
|
||||||
|
public:
|
||||||
|
using VertexId = int;
|
||||||
|
using EdgeId = int;
|
||||||
|
|
||||||
|
struct Edge {
|
||||||
|
VertexId target_vertex = -1;
|
||||||
|
EdgeId next_edge = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<Edge> edges;
|
||||||
|
vector<EdgeId> first_edges;
|
||||||
|
|
||||||
|
explicit Graph(int vertices_amount, int edges_amount = 0) : first_edges(vertices_amount, -1) {
|
||||||
|
edges.reserve(edges_amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
void add_edge(VertexId source_vertex, VertexId target_vertex) {
|
||||||
|
const EdgeId edge_id = edges.size();
|
||||||
|
edges.push_back({.target_vertex = target_vertex, .next_edge = first_edges[source_vertex]}); // 所以遍历顺序相反!
|
||||||
|
first_edges[source_vertex] = edge_id;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_V = 1e5 + 5;
|
||||||
|
|
||||||
|
int v, e;
|
||||||
|
int ans_cache[MAX_V];
|
||||||
|
|
||||||
|
int dfs(const Graph& graph, int vertex, int start_vertex) {
|
||||||
|
if (ans_cache[vertex] != -1) { return ans_cache[vertex]; }
|
||||||
|
ans_cache[vertex] = start_vertex;
|
||||||
|
for (int edge_id = graph.first_edges[vertex]; edge_id != -1; edge_id = graph.edges[edge_id].next_edge) {
|
||||||
|
dfs(graph, graph.edges[edge_id].target_vertex, start_vertex);
|
||||||
|
}
|
||||||
|
return ans_cache[vertex];
|
||||||
|
}
|
||||||
|
|
||||||
|
int dfs(const Graph& graph, int vertex) {
|
||||||
|
// 反向建图,从大到小 dfs
|
||||||
|
return dfs(graph, vertex, vertex);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> v >> e;
|
||||||
|
|
||||||
|
Graph graph(v, e);
|
||||||
|
|
||||||
|
for (int _ = 0; _ < e; _++) {
|
||||||
|
int x, y;
|
||||||
|
cin >> x >> y;
|
||||||
|
graph.add_edge(y - 1, x - 1); // Reversed graph
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(ans_cache, -1, sizeof(ans_cache));
|
||||||
|
|
||||||
|
for (int vertex = v - 1; vertex >= 0; vertex--) {
|
||||||
|
dfs(graph, vertex);
|
||||||
|
}
|
||||||
|
for (int vertex = 0; vertex < v; vertex++) {
|
||||||
|
cout << ans_cache[vertex] + 1 << " ";
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Graph {
|
||||||
|
public:
|
||||||
|
using VertexId = int;
|
||||||
|
using EdgeId = int;
|
||||||
|
|
||||||
|
struct Edge {
|
||||||
|
VertexId target_vertex = -1;
|
||||||
|
EdgeId next_edge = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<Edge> edges;
|
||||||
|
vector<EdgeId> first_edges;
|
||||||
|
|
||||||
|
explicit Graph(int vertices_amount, int edges_amount = 0) : first_edges(vertices_amount, -1) {
|
||||||
|
edges.reserve(edges_amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
void add_edge(VertexId source_vertex, VertexId target_vertex) {
|
||||||
|
const EdgeId edge_id = edges.size();
|
||||||
|
edges.push_back({.target_vertex = target_vertex, .next_edge = first_edges[source_vertex]}); // 所以遍历顺序相反!
|
||||||
|
first_edges[source_vertex] = edge_id;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr int MAX_V = 1e5 + 5;
|
||||||
|
|
||||||
|
int v, e;
|
||||||
|
int ans_cache[MAX_V];
|
||||||
|
|
||||||
|
int dfs(const Graph& graph, int vertex) {
|
||||||
|
// 如果从小到大 dfs,是不需要在此处取 max 的
|
||||||
|
if (ans_cache[vertex] != -1) { return ans_cache[vertex]; }
|
||||||
|
ans_cache[vertex] = vertex;
|
||||||
|
if (graph.first_edges[vertex] == -1) { return ans_cache[vertex]; }
|
||||||
|
for (int edge_id = graph.first_edges[vertex]; edge_id != -1; edge_id = graph.edges[edge_id].next_edge) {
|
||||||
|
ans_cache[vertex] = max(ans_cache[vertex], dfs(graph, graph.edges[edge_id].target_vertex));
|
||||||
|
}
|
||||||
|
return ans_cache[vertex];
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> v >> e;
|
||||||
|
|
||||||
|
Graph graph(v, e);
|
||||||
|
|
||||||
|
for (int _ = 0; _ < e; _++) {
|
||||||
|
int x, y;
|
||||||
|
cin >> x >> y;
|
||||||
|
graph.add_edge(x - 1, y - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(ans_cache, -1, sizeof(ans_cache));
|
||||||
|
|
||||||
|
for (int vertex = 0; vertex < v; vertex++) {
|
||||||
|
cout << dfs(graph, vertex) + 1 << " ";
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
static vector<int> get_upstairs_lengths(vector<int>& ratings) {
|
||||||
|
vector<int> upstairs(ratings.size(), 1);
|
||||||
|
for (int i = 1; i < ratings.size(); i++) {
|
||||||
|
if (ratings[i] > ratings[i - 1]) {
|
||||||
|
upstairs[i] = upstairs[i - 1] + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return upstairs;
|
||||||
|
}
|
||||||
|
|
||||||
|
static vector<int> get_downstairs_lengths(vector<int>& ratings) {
|
||||||
|
vector<int> downstairs(ratings.size(), 1);
|
||||||
|
for (int i = ratings.size() - 2; i >= 0; i--) {
|
||||||
|
if (ratings[i] > ratings[i + 1]) {
|
||||||
|
downstairs[i] = downstairs[i + 1] + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return downstairs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
int candy(vector<int>& ratings) {
|
||||||
|
vector<int> upstairs = get_upstairs_lengths(ratings);
|
||||||
|
vector<int> downstairs = get_downstairs_lengths(ratings);
|
||||||
|
int ans = 0;
|
||||||
|
for (int i = 0; i < ratings.size(); i++) {
|
||||||
|
ans += max(upstairs[i], downstairs[i]);
|
||||||
|
}
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
size_t ratings_amount;
|
||||||
|
cin >> ratings_amount;
|
||||||
|
vector<int> ratings(ratings_amount);
|
||||||
|
for (int i = 0; i < ratings_amount; i++) {
|
||||||
|
cin >> ratings[i];
|
||||||
|
}
|
||||||
|
Solution solution;
|
||||||
|
cout << solution.candy(ratings) << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
#include <cassert>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class LinkedList {
|
||||||
|
public:
|
||||||
|
struct Node {
|
||||||
|
int previous = -1, next = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<Node> nodes;
|
||||||
|
|
||||||
|
int get_adjacent(int idx, bool next) const {
|
||||||
|
if (next) { return nodes[idx].next; }
|
||||||
|
return nodes[idx].previous;
|
||||||
|
}
|
||||||
|
|
||||||
|
void add(int l, int r) {
|
||||||
|
if (l > -1) { nodes[l].next = nodes.size(); }
|
||||||
|
if (r > -1) { nodes[r].previous = nodes.size(); }
|
||||||
|
nodes.push_back({.previous = l, .next = r});
|
||||||
|
}
|
||||||
|
|
||||||
|
void remove(int idx) {
|
||||||
|
if (nodes[idx].previous > -1) {
|
||||||
|
nodes[nodes[idx].previous].next = nodes[idx].next;
|
||||||
|
}
|
||||||
|
if (nodes[idx].next > -1) {
|
||||||
|
nodes[nodes[idx].next].previous = nodes[idx].previous;
|
||||||
|
}
|
||||||
|
nodes[idx] = {-2, -2};
|
||||||
|
}
|
||||||
|
|
||||||
|
void print() {
|
||||||
|
int start_idx = -1;
|
||||||
|
for (int i = 0; i < nodes.size(); i++) {
|
||||||
|
if (nodes[i].previous == -1) {
|
||||||
|
start_idx = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i = start_idx; i != -1; i = nodes[i].next) {
|
||||||
|
cout << i + 1 << " ";
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
LinkedList l;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
|
||||||
|
int n;
|
||||||
|
int to_be_operated;
|
||||||
|
bool is_next;
|
||||||
|
|
||||||
|
cin >> n;
|
||||||
|
|
||||||
|
l.add(-1, -1);
|
||||||
|
|
||||||
|
for (int _ = 0; _ < n - 1; _++) {
|
||||||
|
cin >> to_be_operated >> is_next;
|
||||||
|
to_be_operated--;
|
||||||
|
int adj = l.get_adjacent(to_be_operated, is_next);
|
||||||
|
if (is_next) {
|
||||||
|
l.add(to_be_operated, adj);
|
||||||
|
} else {
|
||||||
|
l.add(adj, to_be_operated);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cin >> n;
|
||||||
|
for (int _ = 0; _ < n; _++) {
|
||||||
|
cin >> to_be_operated;
|
||||||
|
l.remove(to_be_operated - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
l.print();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
import dataclasses
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
class Dsu:
|
||||||
|
@dataclasses.dataclass
|
||||||
|
class Node:
|
||||||
|
parent: int
|
||||||
|
tree_size: int = 1
|
||||||
|
weight: int = 0
|
||||||
|
|
||||||
|
def __init__(self, n: int):
|
||||||
|
self.nodes: list["Dsu.Node"] = [self.Node(i) for i in range(n)]
|
||||||
|
|
||||||
|
def find(self, x: int) -> int:
|
||||||
|
if self.nodes[x].parent == x:
|
||||||
|
return x
|
||||||
|
parent = self.find(self.nodes[x].parent)
|
||||||
|
self.nodes[x].weight \
|
||||||
|
= (self.nodes[self.nodes[x].parent].weight + self.nodes[x].weight + 12) % 3
|
||||||
|
self.nodes[x].parent = parent
|
||||||
|
return parent
|
||||||
|
|
||||||
|
def union(self, x: int, y: int, weight_offset: int):
|
||||||
|
"""
|
||||||
|
x 的父亲为 y;x 的权重为 y 的权重 + weight_offset
|
||||||
|
:param x:
|
||||||
|
:param y:
|
||||||
|
:param weight_offset:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
self.find(x)
|
||||||
|
self.find(y)
|
||||||
|
if x == y:
|
||||||
|
return
|
||||||
|
if self.nodes[x].tree_size > self.nodes[y].tree_size:
|
||||||
|
x, y = y, x
|
||||||
|
weight_offset = -weight_offset
|
||||||
|
wx, wy = self.nodes[x].weight, self.nodes[y].weight
|
||||||
|
weight_offset += wy - wx
|
||||||
|
x,y = self.nodes[x].parent, self.nodes[y].parent
|
||||||
|
self.nodes[x].parent = y
|
||||||
|
self.nodes[x].weight = weight_offset % 3
|
||||||
|
self.nodes[y].tree_size += self.nodes[x].tree_size
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
animals_amount, instructions_amount = map(int, input().split())
|
||||||
|
dsu = Dsu(animals_amount)
|
||||||
|
lies_amount = 0
|
||||||
|
for _ in range(instructions_amount):
|
||||||
|
instruction_type, animal1, animal2 = map(int, input().split())
|
||||||
|
# print(instruction_type, animal1, animal2, file=sys.stderr)
|
||||||
|
if animal1 > animals_amount or animal2 > animals_amount:
|
||||||
|
print("Lie: No animal", file=sys.stderr)
|
||||||
|
lies_amount += 1
|
||||||
|
continue
|
||||||
|
if animal1 == animal2:
|
||||||
|
if instruction_type == 2:
|
||||||
|
print("Lie: Eats oneself", file=sys.stderr)
|
||||||
|
lies_amount += 1
|
||||||
|
continue
|
||||||
|
animal1 -= 1
|
||||||
|
animal2 -= 1
|
||||||
|
if dsu.find(animal1) == dsu.find(animal2):
|
||||||
|
w1 = dsu.nodes[animal1].weight
|
||||||
|
w2 = dsu.nodes[animal2].weight
|
||||||
|
if instruction_type == 1 and w1 != w2:
|
||||||
|
print("Lie: different type", w1, w2, file=sys.stderr)
|
||||||
|
lies_amount += 1
|
||||||
|
if instruction_type == 2 and (w1 - w2 + 12) % 3 != 1:
|
||||||
|
print("Lie: cannot eat", w1, w2, file=sys.stderr)
|
||||||
|
lies_amount += 1
|
||||||
|
else:
|
||||||
|
dsu.union(animal1, animal2, instruction_type - 1)
|
||||||
|
# print("Success", file=sys.stderr)
|
||||||
|
print(lies_amount)
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
constexpr size_t MAX_N = 4005;
|
||||||
|
long long numbers_amount, numbers[4][MAX_N];
|
||||||
|
vector<long long> sums[2];
|
||||||
|
unordered_map<long long, size_t> sum_to_amount[2];
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void log_vector(vector<T> vec, const string& prefix = "") {
|
||||||
|
clog << prefix;
|
||||||
|
for (const T& n : vec) {
|
||||||
|
clog << n << " ";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void build_sums(const size_t sums_idx) {
|
||||||
|
for (int i = 0; i < numbers_amount; i++) {
|
||||||
|
for (int j = 0; j < numbers_amount; j++) {
|
||||||
|
long long sum = numbers[sums_idx][i] + numbers[sums_idx + 1][j];
|
||||||
|
if (!sum_to_amount[sums_idx / 2][sum]++) {
|
||||||
|
sums[sums_idx / 2].push_back(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
cin >> numbers_amount;
|
||||||
|
for (int i = 0; i < numbers_amount; i++) {
|
||||||
|
cin >> numbers[0][i] >> numbers[1][i] >> numbers[2][i] >> numbers[3][i];
|
||||||
|
}
|
||||||
|
build_sums(0), build_sums(2);
|
||||||
|
sort(sums[0].begin(), sums[0].end()), sort(sums[1].begin(), sums[1].end());
|
||||||
|
// log_vector(sums[0], "sums[0]: ");
|
||||||
|
// log_vector(sums[1], "sums[1]: ");
|
||||||
|
|
||||||
|
unsigned int ans = 0;
|
||||||
|
for (const long long n : sums[0]) {
|
||||||
|
auto it = lower_bound(sums[1].begin(), sums[1].end(), -n);
|
||||||
|
if (it != sums[1].end() && *it == -n) {
|
||||||
|
ans += sum_to_amount[1][-n] * sum_to_amount[0][n];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cout << ans << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int get_max_sum(const vector<int>& vec) {
|
||||||
|
vector<int> max_sums(vec.size());
|
||||||
|
max_sums[0] = vec[0];
|
||||||
|
for (int i = 1; i < vec.size(); i++) {
|
||||||
|
int max_sum = 0;
|
||||||
|
for (int j = 0; j < i; j++) {
|
||||||
|
if (vec[j] < vec[i]) {
|
||||||
|
max_sum = max(max_sum, max_sums[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
max_sums[i] = max_sum + vec[i];
|
||||||
|
}
|
||||||
|
return *max_element(max_sums.begin(), max_sums.end());
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int numbers_amount;
|
||||||
|
cin >> numbers_amount;
|
||||||
|
vector<int> numbers(numbers_amount);
|
||||||
|
for (int i = 0; i < numbers_amount; i++) {
|
||||||
|
cin >> numbers[i];
|
||||||
|
}
|
||||||
|
cout << get_max_sum(numbers) << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <stack>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
struct Bracket {
|
||||||
|
bool is_right;
|
||||||
|
size_t index;
|
||||||
|
|
||||||
|
bool operator<(const Bracket& other) const {
|
||||||
|
return index < other.index;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
string get_unmatched_brackets_string(const string& s) {
|
||||||
|
stack<Bracket> brackets;
|
||||||
|
vector<Bracket> unmatched_brackets;
|
||||||
|
string printed_string(s.size(), ' ');
|
||||||
|
for (size_t i = 0; i < s.size(); i++) {
|
||||||
|
if (s[i] == '(') {
|
||||||
|
brackets.push({.is_right = false, .index = i});
|
||||||
|
} else if (s[i] == ')') {
|
||||||
|
if (brackets.empty()) {
|
||||||
|
unmatched_brackets.push_back({.is_right = true, .index = i});
|
||||||
|
} else {
|
||||||
|
brackets.pop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (!brackets.empty()) {
|
||||||
|
unmatched_brackets.push_back(brackets.top());
|
||||||
|
brackets.pop();
|
||||||
|
}
|
||||||
|
for (const auto& [is_right, index] : unmatched_brackets) {
|
||||||
|
printed_string[index] = is_right ? '?' : '$';
|
||||||
|
}
|
||||||
|
return printed_string;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
string s;
|
||||||
|
while (getline(cin, s) && !s.empty()) {
|
||||||
|
cout << s << endl << get_unmatched_brackets_string(s) << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
+33
-21
@@ -29,42 +29,54 @@ vector<int> get_divisors(const int n) {
|
|||||||
return small_divisors;
|
return small_divisors;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length 是总长度的因数
|
|
||||||
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
||||||
const int target_length,
|
const int target_length,
|
||||||
|
const int remaining_length,
|
||||||
|
const int original_sticks,
|
||||||
const int remaining_sticks,
|
const int remaining_sticks,
|
||||||
vector<bool>& used) {
|
size_t global_right_idx,
|
||||||
if (target_length == 0) { return true; }
|
const size_t right_idx,
|
||||||
if (target_length < 0) { return false; }
|
vector<bool>& used
|
||||||
// if (sorted_cut_sticks.empty()) { throw logic_error("Invalid target_times"); }
|
) {
|
||||||
// if (sorted_cut_sticks.empty()) { return true; }
|
// clog << "verify_length_dfs(" << target_length << ") " << remaining_length << " " << remaining_sticks << "x " <<
|
||||||
// if (sorted_cut_sticks.back() > target_length) { return false; }
|
// global_right_idx << "->" << right_idx << endl;
|
||||||
// while (!sorted_cut_sticks.empty() && sorted_cut_sticks.back() >= target_length) {
|
// log_vector(used, "used: ");
|
||||||
// sorted_cut_sticks.pop_back(); // 直接用
|
if (remaining_sticks == 0) { return true; }
|
||||||
// }
|
bool result = false;
|
||||||
// if (sorted_cut_sticks.empty()) { return true; }
|
for (int i = static_cast<int>(right_idx); i >= 0; i--) {
|
||||||
|
if (target_length < sorted_cut_sticks[i]) { return false; }
|
||||||
const int remaining_length = target_length;
|
|
||||||
for (int i = static_cast<int>(sorted_cut_sticks.size()) - 1; i >= 0; i--) {
|
|
||||||
if (sorted_cut_sticks[i] > target_length) { return false; }
|
|
||||||
if (used[i]) { continue; }
|
if (used[i]) { continue; }
|
||||||
if (sorted_cut_sticks[i] > remaining_length) { continue; }
|
if (remaining_length < sorted_cut_sticks[i]) { continue; }
|
||||||
used[i] = true;
|
used[i] = true;
|
||||||
if (verify_length_dfs(sorted_cut_sticks, remaining_length - sorted_cut_sticks[i], remaining_sticks, used)) {
|
if (remaining_length == sorted_cut_sticks[i]) { // 下一根
|
||||||
return true;
|
result = verify_length_dfs(sorted_cut_sticks, target_length, target_length, original_sticks,
|
||||||
|
remaining_sticks - 1, global_right_idx,
|
||||||
|
global_right_idx, used);
|
||||||
|
} else { // 这一根
|
||||||
|
if (remaining_length == target_length) { // 这一根的第一节
|
||||||
|
global_right_idx = i;
|
||||||
}
|
}
|
||||||
|
result = verify_length_dfs(sorted_cut_sticks, target_length,
|
||||||
|
remaining_length - sorted_cut_sticks[i], original_sticks,
|
||||||
|
remaining_sticks, global_right_idx, i, used);
|
||||||
|
}
|
||||||
|
if (result) { return true; }
|
||||||
used[i] = false;
|
used[i] = false;
|
||||||
// 剪枝
|
while (i >= 0 && sorted_cut_sticks[i] == sorted_cut_sticks[i - 1]) { i--; } // 剪枝
|
||||||
|
// if (remaining_sticks == original_sticks && remaining_length == target_length) { return false; } // 剪枝
|
||||||
|
if (remaining_length == target_length) { return false; } // 剪枝
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length * remaining_sticks = 总长度
|
||||||
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
||||||
const int target_length,
|
const int target_length,
|
||||||
const int remaining_sticks) {
|
const int remaining_sticks) {
|
||||||
vector<bool> used(sorted_cut_sticks.size(), false);
|
vector<bool> used(sorted_cut_sticks.size(), false);
|
||||||
bool result = verify_length_dfs(sorted_cut_sticks, target_length, remaining_sticks, used);
|
bool result = verify_length_dfs(sorted_cut_sticks, target_length, target_length, remaining_sticks,
|
||||||
log_vector(used, "used: ");
|
remaining_sticks, sorted_cut_sticks.size() - 1, sorted_cut_sticks.size() - 1, used);
|
||||||
|
// log_vector(used, "used: ");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
constexpr int MAX_N = 100;
|
||||||
|
int cache[MAX_N * MAX_N];
|
||||||
|
|
||||||
|
int get_split_solutions_count(int n, int parts_count) {
|
||||||
|
if (n <= 0 || parts_count > n) { return 0; }
|
||||||
|
if (parts_count == 1 || parts_count == n) { return 1; }
|
||||||
|
if (cache[n * MAX_N + parts_count] != 0) {
|
||||||
|
return cache[n * MAX_N + parts_count];
|
||||||
|
}
|
||||||
|
int ans = 0;
|
||||||
|
for (int i = 1; i <= n / 2; i++) {
|
||||||
|
ans += get_split_solutions_count(n - i - (i - 1) * (parts_count - 1), parts_count - 1);
|
||||||
|
}
|
||||||
|
cache[n * MAX_N + parts_count] = ans;
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int n;
|
||||||
|
while (cin >> n) {
|
||||||
|
// cout << get_split_solutions_count(n, 2) << endl;
|
||||||
|
int ans = 0;
|
||||||
|
for (int i = 1; i <= n; i++) {
|
||||||
|
ans += get_split_solutions_count(n, i);
|
||||||
|
// clog << i << ":" << ans << " ";
|
||||||
|
}
|
||||||
|
cout << ans << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int nums_amount;
|
||||||
|
cin >> nums_amount;
|
||||||
|
vector<string> nums(nums_amount);
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cin >> nums[i];
|
||||||
|
}
|
||||||
|
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
|
||||||
|
return a + b < b + a;
|
||||||
|
});
|
||||||
|
for (int i = nums_amount - 1; i >= 0; i--) {
|
||||||
|
cout << nums[i];
|
||||||
|
}
|
||||||
|
cout << " ";
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cout << nums[i];
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
size_t get_digits(unsigned long long number) {
|
||||||
|
return static_cast<size_t>(log10(number)) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool is_number_rising(unsigned long long number) {
|
||||||
|
while (number % 10 == (number / 10) % 10) { number /= 10; }
|
||||||
|
return (number / 10) % 10 < number % 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct PartialNumber {
|
||||||
|
unsigned long long number = 0;
|
||||||
|
unsigned long long filled_number = -1;
|
||||||
|
size_t digits = 0;
|
||||||
|
|
||||||
|
void fill() {
|
||||||
|
digits = get_digits(number);
|
||||||
|
filled_number = number;
|
||||||
|
while (filled_number < 10000000000000000) {
|
||||||
|
filled_number *= 10, filled_number += number % 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator<(PartialNumber& other) {
|
||||||
|
if (filled_number == -1) { fill(); }
|
||||||
|
if (other.filled_number == -1) { other.fill(); }
|
||||||
|
if (filled_number == other.filled_number) {
|
||||||
|
if (is_number_rising(number)) { return digits < other.digits; }
|
||||||
|
return digits > other.digits;
|
||||||
|
}
|
||||||
|
return filled_number < other.filled_number;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator>(PartialNumber& other) {
|
||||||
|
return other < *this;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int nums_amount;
|
||||||
|
cin >> nums_amount;
|
||||||
|
vector<PartialNumber> nums(nums_amount);
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cin >> nums[i].number;
|
||||||
|
}
|
||||||
|
sort(nums.begin(), nums.end());
|
||||||
|
for (int i = nums_amount - 1; i >= 0; i--) {
|
||||||
|
cout << nums[i].number;
|
||||||
|
}
|
||||||
|
cout << " ";
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cout << nums[i].number;
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
using Range = pair<int, int>;
|
||||||
|
|
||||||
|
void log_range_vector(const vector<Range>& ranges, const string& prefix = "") {
|
||||||
|
clog << prefix;
|
||||||
|
for (const Range& r : ranges) {
|
||||||
|
clog << "(" << r.first << "," << r.second << ")" << " ";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t get_min_ranges_amount(vector<Range> ranges, Range full_range) {
|
||||||
|
sort(ranges.begin(), ranges.end());
|
||||||
|
log_range_vector(ranges, "ranges: ");
|
||||||
|
size_t i = 0, ans = 0;
|
||||||
|
while (ranges[i].second < full_range.first) { i++; }
|
||||||
|
int max_start = 0, current_end = ranges[i].second;
|
||||||
|
while (true) {
|
||||||
|
while (ranges[i].first <= max_start) {
|
||||||
|
current_end = max(current_end, ranges[i].second);
|
||||||
|
if (current_end >= full_range.second) { return ans + 1; }
|
||||||
|
i++;
|
||||||
|
if (i >= ranges.size()) { throw invalid_argument("No valid ranges found (inside loop)"); }
|
||||||
|
}
|
||||||
|
ans++;
|
||||||
|
if (current_end >= full_range.second) { return ans; }
|
||||||
|
max_start = current_end;
|
||||||
|
}
|
||||||
|
throw invalid_argument("No valid ranges found (outside loop)");
|
||||||
|
}
|
||||||
|
|
||||||
|
vector<Range> get_ranges(const vector<int>& monitors) {
|
||||||
|
vector<Range> ranges;
|
||||||
|
for (int i = 0; i < monitors.size(); i++) {
|
||||||
|
ranges.emplace_back(i - monitors[i], i + monitors[i] + 1);
|
||||||
|
}
|
||||||
|
return ranges;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
size_t monitors_amount;
|
||||||
|
cin >> monitors_amount;
|
||||||
|
vector<int> monitors(monitors_amount);
|
||||||
|
for (int i = 0; i < monitors_amount; i++) {
|
||||||
|
cin >> monitors[i];
|
||||||
|
}
|
||||||
|
vector<Range> ranges = get_ranges(monitors);
|
||||||
|
Range full_range = {0, monitors_amount};
|
||||||
|
|
||||||
|
cout << get_min_ranges_amount(ranges, full_range) << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
constexpr size_t MAX_M = 201, MAX_N = 1001;
|
||||||
|
|
||||||
|
vector<string> nums;
|
||||||
|
vector<bool> used;
|
||||||
|
map<size_t, int, greater<>> num_sizes;
|
||||||
|
|
||||||
|
string dp[MAX_M][MAX_N];
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void log_vector(const vector<T>& vec, const string& prefix = "") {
|
||||||
|
clog << prefix << endl;
|
||||||
|
for (const T& item : vec) {
|
||||||
|
clog << item << " ";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void output_from_used() {
|
||||||
|
for (int i = 0; i < nums.size(); i++) {
|
||||||
|
if (used[i]) { cout << nums[i]; }
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int nums_amount, target_size;
|
||||||
|
cin >> target_size >> nums_amount;
|
||||||
|
nums.resize(nums_amount), used.resize(nums_amount);
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cin >> nums[i];
|
||||||
|
}
|
||||||
|
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
|
||||||
|
return a + b > b + a;
|
||||||
|
});
|
||||||
|
for (const string& num : nums) {
|
||||||
|
num_sizes[num.size()]++;
|
||||||
|
}
|
||||||
|
log_vector(nums, "nums: ");
|
||||||
|
// while (!can_form_combination(target_size, target_size)) {
|
||||||
|
// target_size--;
|
||||||
|
// }
|
||||||
|
clog << "target_size: " << target_size << endl;
|
||||||
|
calc_used(target_size, target_size);
|
||||||
|
log_vector(used, "used: ");
|
||||||
|
output_from_used();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
vector<string> nums;
|
||||||
|
vector<bool> used;
|
||||||
|
map<size_t, int, greater<>> num_sizes;
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void log_vector(const vector<T>& vec, const string& prefix = "") {
|
||||||
|
clog << prefix << endl;
|
||||||
|
for (const T& item : vec) {
|
||||||
|
clog << item << " ";
|
||||||
|
}
|
||||||
|
clog << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool can_form_combination(const size_t target_size,
|
||||||
|
const size_t remaining_size
|
||||||
|
) {
|
||||||
|
if (remaining_size == 0) { return true; }
|
||||||
|
for (auto& [size, count] : num_sizes) {
|
||||||
|
if (size > remaining_size) { break; }
|
||||||
|
if (count > 0) {
|
||||||
|
count--;
|
||||||
|
if (can_form_combination(target_size, remaining_size - size)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool calc_used(const size_t target_size, const size_t remaining_size, const size_t start_idx = 0) {
|
||||||
|
if (remaining_size == 0) { return true; }
|
||||||
|
for (size_t i = start_idx; i < nums.size(); i++) {
|
||||||
|
if (nums[i].size() > remaining_size) { continue; }
|
||||||
|
used[i] = true;
|
||||||
|
if (calc_used(target_size, remaining_size - nums[i].size(), i + 1)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
used[i] = false;
|
||||||
|
if (calc_used(target_size, remaining_size, i + 1)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void output_from_used() {
|
||||||
|
for (int i = 0; i < nums.size(); i++) {
|
||||||
|
if (used[i]) { cout << nums[i]; }
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int nums_amount, target_size;
|
||||||
|
cin >> target_size >> nums_amount;
|
||||||
|
nums.resize(nums_amount), used.resize(nums_amount);
|
||||||
|
for (int i = 0; i < nums_amount; i++) {
|
||||||
|
cin >> nums[i];
|
||||||
|
}
|
||||||
|
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
|
||||||
|
return a + b > b + a;
|
||||||
|
});
|
||||||
|
for (const string& num : nums) {
|
||||||
|
num_sizes[num.size()]++;
|
||||||
|
}
|
||||||
|
log_vector(nums, "nums: ");
|
||||||
|
// while (!can_form_combination(target_size, target_size)) {
|
||||||
|
// target_size--;
|
||||||
|
// }
|
||||||
|
clog << "target_size: " << target_size << endl;
|
||||||
|
calc_used(target_size, target_size);
|
||||||
|
log_vector(used, "used: ");
|
||||||
|
output_from_used();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user