摘要: 比赛地址 A.Probably English 1 void solve() 2 { 3 int n;cin>>n; 4 set<string>st; 5 st.insert("and"); 6 st.insert("not"); 7 st.insert("that"); 8 st.insert(" 阅读全文
posted @ 2023-03-26 16:20 HikariFears 阅读(111) 评论(0) 推荐(0)
摘要: 题目地址 题意:有1-n个点由n-1条边连接起来,第一晚住在s点,并游览s相邻的点,第二晚住在除了s和游览过的点以外的点,以此类推,问能住几晚 Solution 很模板的树形dp dp[i][0/1]表示在i点是否住下的答案 如果不在i点住,那么相邻的点住不住都行,即dp[pos][0]+=max( 阅读全文
posted @ 2023-03-26 13:43 HikariFears 阅读(32) 评论(0) 推荐(0)
摘要: 题目地址 题意:给出m和一个长度为2m的数组a,令数组b长度也为m,且对于b任意一个长度为m的子序列的积等于剩下的和,求出最小的Σ|a[i]-b[i]| Solution 显然只有一下几种情况: 1.m=1时,a[1]=a[2] 2.m=2是,4个数均为2, 3.m>2且m为偶数,有2n-1个-1和 阅读全文
posted @ 2023-03-25 20:52 HikariFears 阅读(26) 评论(0) 推荐(0)
摘要: 题目地址 题意:给出n个点,求最近的两个点距离的平方 Solution 分治法 dfs(i,j)表示在i,j上的最近点距离的平方,问题在于如何将两个区间的合并 原题解(囧仙) 对于区间长度等于2的区间,直接返回距离,等于1则返回无限 以mid为中心,|x[mid]-x[i]|<res的点都统计一遍, 阅读全文
posted @ 2023-03-25 17:49 HikariFears 阅读(39) 评论(0) 推荐(0)
摘要: 比赛地址 A. Garland 1 void solve() 2 { 3 for(int i=1;i<=4;i++) 4 { 5 b[i]=a[i]=0; 6 } 7 int cnt=0; 8 string t;cin>>t; 9 set<int>st; 10 for(int i=0;i<4;i++ 阅读全文
posted @ 2023-03-25 11:06 HikariFears 阅读(172) 评论(0) 推荐(0)
摘要: 题目地址 题意:给你一个数组a,进行q次操作 有两种操作: 1:给出一个区间[l,r],令该区间内所有数都变成他们自身每一位数字的和 2:给出x,输出a[x]的值 Solution 显然可以发现,当数字变为个位数的时候,之后的操作都不用进行了 用树状数组维护一个操作的次数的前缀和,这里用差分,对l进 阅读全文
posted @ 2023-03-23 19:52 HikariFears 阅读(51) 评论(0) 推荐(0)
摘要: 题目地址 题意:有n(n为偶数)张大小不同的卡牌,现在A和B玩一个游戏,规则是如果一个人出示了一张卡牌,另一个人无法出示更大的卡牌,他就赢了,如果反之该回合结束,并将这两张牌移除(移入墓地bushi),由另一个人先出示卡牌,如果牌全部出示完了,那么就算平局,现在问如果最开始由A出示,分别有多少种发牌 阅读全文
posted @ 2023-03-21 19:42 HikariFears 阅读(47) 评论(0) 推荐(0)
摘要: 题目地址 题意:构造一个二维数组,使得任意一个4*4的子矩阵满足: A11⊕A12⊕A21⊕A22=A33⊕A34⊕A43⊕A44 A13⊕A14⊕A23⊕A24=A31⊕A32⊕A41⊕A42 Solution(思路来源:知乎xioachou) 对于4个数来说,任意一个二进制位上的1和0都为偶数, 阅读全文
posted @ 2023-03-21 15:51 HikariFears 阅读(28) 评论(0) 推荐(0)
摘要: 题目地址 题意:有一个数组,Alice和Bob每次拿走其中的一个数,Alice先拿,问最后Alice拿的数的和是否为偶数 Solution 博弈论,这里的数据量不大,dp+记忆化搜索 dp[cnt1][cnt2][c][s]表示剩余cnt1个奇数和cnt2个偶数时,当前的操作人为c,Alice拿的数 阅读全文
posted @ 2023-03-21 15:18 HikariFears 阅读(24) 评论(0) 推荐(0)
摘要: 题意:初始化数组a为[1,2...,n],对该区间进行反转操作后,对子区间[l,mid],[mid+1,r]中的元素个数大于2的区间进行同样的操作,直到最后所有子区间元素个数都为1,给出一个查找区间[l,r],求区间和 例如:[1,2,3,4,5]反转变为[5,4,3,2,1],第二次反转后为[3, 阅读全文
posted @ 2023-03-21 14:23 HikariFears 阅读(27) 评论(0) 推荐(0)