iwtgm
iwtgm-5
题目链接 A. 个数为1的数一定会产生贡献,记为x 个数为2的数一定不会产生贡献,直接全部放入集合a 个数>2的数可产生也可不产生贡献,记为y 分类讨论: x>0: x为偶数,那么a,b集合平分x,其他全部放入a集合(反正不会有贡献) x为奇数,需要多一个y放入b, x<0,全放入a集合 代码: i ......
iwtgm-6
题目链接 A. 感觉1和2非常神奇,可以得到非常神奇的结论, 自我猜想可能是因为首先它们的值很小,那么可以表示的范围非常大, 然后可以改变奇偶性,范围就更大了 这题的结论就是连续1的个数/3 先特判第一步是1一定有一个贡献 然后加上后面连续1的个数/3 void solve() { int n,an ......
iwtgm-7
题目链接 N. 因为输入只有两个字母,结果最多只有两位数,可以直接写答案 void solve(){ char x,y;cin>>x>>y; int xx=x-'A',yy=y-'A'; int ans=xx+yy; if(ans<26)cout<<(char)('A'+ans); else { a ......
iwtgm-8
题目链接 A. 模拟, 先遍历一遍,出现0,则i+x和i-x存在则必是0 再遍历一遍,出现1,判i+x和i-x位上若已经是1或还没被赋值则满足题意,否则失败退出 输出是当前位是1,则输出1,否则输出0.因为1的限制范围明确,其余都填0 void solve(){ string s;cin>>s; i ......
iwtgm-9
题目链接 dp,自己写的时候没有考虑完全状态转移,其实是滑动窗口dp,需要维护一段区间的最小值 1-n内的数显然能一步得到, 考虑n+1到y,可由前面的状态加数得到也可以乘数得到, 考虑加,其实是区间长度为n的滑动窗口的最小值+1 考虑乘,若当前数i能整除mi,则dp[mi]+1 int a[N], ......