Fork me on GitHub
摘要: 前文 明天考试,然后放假, 我的心像四月的小鸟~ 🥤 Queries for Number of Palindromes 标签:回文类区间dp 一道典型的区间dp。注意求的是个数而不是长度。初始化的时候注意一下,len=2时分两种情况。ch[i]=ch[i-1] 时,dp[i-1][i]=3。否则 阅读全文
posted @ 2022-08-18 11:59 Doria_tt 阅读(32) 评论(0) 推荐(0)
摘要: 流浪月球【第四周】 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; ll dp[2005],pre[2005]; //dp[i][j]指在前i天恰好选j个的方案数 //pr 阅读全文
posted @ 2022-08-18 11:55 Doria_tt 阅读(60) 评论(0) 推荐(1)
摘要: 乘积最大 由于题目给定的是m,需要分解成m+1部分的乘积,不难想到乘号刚好是m个,那么该题就转化成了m个乘号的插入方式。 最优子结构分析: 设数字字符串为a1a2…an m=1 时,一个乘号可以插在a1a2…an中的n-1个位置,这样就得到n-1种乘积: a1*a2…an, a1a2*a3…an, 阅读全文
posted @ 2022-08-18 11:52 Doria_tt 阅读(69) 评论(0) 推荐(0)
摘要: Hash 键值 (hash) 【思路】按照正常模拟,很容易写出代码,如图: for(int i=1;i<=q;i++) { int opt; scanf("%d",&opt); if(opt==1) { int x,y,ans=0; scanf("%d %d",&x,&y); for(int i=y 阅读全文
posted @ 2022-08-18 11:48 Doria_tt 阅读(35) 评论(0) 推荐(0)
摘要: Kuglarz 首先,有一个比较明显的结论: 必须要知道每一个位置的奇偶性,才能知道所有位置有没有小球。 再仔细一想,每一个位置的奇偶性可以有两种方法推出来: 直接花费 ai,i 得到; 花费两个区间的价值 ai,j+ai+1,j 得到。 可是区间的价值又可以从两个区间推来,那就很难处理了。 考虑把 阅读全文
posted @ 2022-08-18 11:39 Doria_tt 阅读(41) 评论(0) 推荐(1)
摘要: 田忌赛马 如果田忌目前的最快马快于齐王目前的最快马,则两者比 如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马与齐王的最快马比 (减少损失) 如果田忌的最快马和齐王的最快马相等,分以下两种情况: 若田忌的最慢马快于齐王的最慢马,两者比(能赢就赢呗) 其他,用田忌的最慢马与齐王的最快马比(贡献最大) 阅读全文
posted @ 2022-08-18 11:06 Doria_tt 阅读(40) 评论(0) 推荐(0)
摘要: Cleaning Robot 这道题可以先用bfs把任意两个脏点的最小距离算出来,然后利用TSP算出答案。 TSP是什么?详见 百度百科 。 至于这个TSP暴力怎么写,私以为very important。相当于全排列,似乎可以用next_permutation(),再求相邻两个点之间的mp[i-1] 阅读全文
posted @ 2022-08-18 08:51 Doria_tt 阅读(46) 评论(0) 推荐(0)