上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 29 下一页
摘要: https://ac.nowcoder.com/acm/contest/881/E 从dp的角度来看是比较正常的。无后效性来源于前面只要的合法的方案分配,那么对后面造成的影响就只有A,B的数目。 从贪心的角度看,前n个A必定是给AB用的,前m个B必定是给BA用的。否则假如有一个BA用了一个前n个A里 阅读全文
posted @ 2019-07-19 14:28 韵意 阅读(233) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/881/H 题意: 给定n个整数,求其中异或和为 $0$ 的子集的大小的和。 题解思路: 首先转化为每个可以通过异或表示 $0$ 的数贡献它参与的子集数。 思考的过程分两步。一开始不管三七二十一先对 $n$ 个整数求一次线性基 阅读全文
posted @ 2019-07-19 11:36 韵意 阅读(548) 评论(0) 推荐(0) 编辑
摘要: UVA 272 练习fgets的返回值,当读到EOF的时候返回的是NULL,和scanf、getchar不一样。 fets(s,n,f)至多读取n 1个有效字符并在s[n]中放入'\0',所以一般都开大一点。 cpp include using namespace std; typedef long 阅读全文
posted @ 2019-07-19 01:56 韵意 阅读(231) 评论(0) 推荐(0) 编辑
摘要: STL的栈,可能有一些不需要的信息。 其实用数组实现之后是这个鬼样子。感觉还不如直接用。 阅读全文
posted @ 2019-07-18 23:03 韵意 阅读(151) 评论(0) 推荐(0) 编辑
摘要: A Equivalent Prefixes 单调栈 题意:给定两个n个元素的数组a,b,它们的前p个元素构成的数组是“等价”的,求p的最大值。“等价”的意思是在其任意一个子区间内的最小值相同。 考虑使用单调栈去弄它。每次单调栈中的元素会回答以栈顶元素为结尾的区间的最小值是多少。 比如数组: 2,4, 阅读全文
posted @ 2019-07-18 22:37 韵意 阅读(169) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1195/problem/E 一个能运行但是会T的版本,因为本质上还是$O(nmab)$的算法。每次$O(ab)$初始化矩阵中的可能有用的点,然后$O(n a)$往下推。 cpp include using namespace std; typ 阅读全文
posted @ 2019-07-18 10:52 韵意 阅读(252) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/problemset/problem/1195/D2 很明显可以看出,任意一个长度为$l_1$的数串$s_1$和任意一个长度为$l_2$的数串$s_2$在$f(s_1,s_2)$中每个位的贡献的位数是一样的。稍微推一推可以知道,$calcx\_ijk$和$ca 阅读全文
posted @ 2019-07-18 10:20 韵意 阅读(510) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1195/problem/D1 给$n$个等长的十进制数串,定义操作$f(x,y)$的结果是“从$y$的末尾开始一个一个交替放得到的数”,求$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}f(a_i,a_j 阅读全文
posted @ 2019-07-18 10:13 韵意 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 用来偷懒。不要尝试一些奇奇怪怪的运算符。 cpp define ERR(args...) { string _s = args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator _it(_ 阅读全文
posted @ 2019-07-18 01:09 韵意 阅读(208) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1088/problem/B 模拟即可。 cpp include using namespace std; typedef long long ll; priority_queue, greater pq; int sumsub = 0; in 阅读全文
posted @ 2019-07-17 13:13 韵意 阅读(213) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1194/problem/E 给5000条正常的(同方向不会重叠,也不会退化成点的)线段,他们都是平行坐标轴方向的,求能组成多少个矩形。 先进行坐标偏移,按水平线和垂直线分好类。 用扫描线的思路,从底部的水平线开始往上扫,先标记所有与该条水平线 阅读全文
posted @ 2019-07-17 01:45 韵意 阅读(384) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么。 cpp include using namespace std; typedef long long ll; ll sum(int n){ ll ans 阅读全文
posted @ 2019-07-16 13:38 韵意 阅读(947) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1194/problem/F 下面是错的。 看起来有点概率dp的感觉? 给你T秒钟时间,你要按顺序处理总共n个事件,每个事件处理花费的时间是ti秒钟,有一半的概率失手导致多花1秒钟。求T时间内处理完事情的总数的期望。 处理完第1个事件,有0.5 阅读全文
posted @ 2019-07-15 15:42 韵意 阅读(412) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1194/problem/D 打个n=30的表好像看出了规律。 其实假设k==3,那么 sg[0]=0, sg[1]=mex{sg[0]}=1, sg[2]=mex{sg[0],sg[1]}=2, sg[3]=mex{sg[0],sg[1],s 阅读全文
posted @ 2019-07-15 13:57 韵意 阅读(488) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1194/problem/B 好像也没什么思维,就是一个水题,不过蛮有趣的。意思是找缺黑色最少的行列十字。用O(n)的空间预处理掉一维,然后用O(n)的时间根据另一维计算出答案。 cpp include using namespace std; 阅读全文
posted @ 2019-07-15 12:46 韵意 阅读(329) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 29 下一页