TopCoder SRM500 Div1 250 其他】的更多相关文章

原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-250.html SRM500 Div1 250 题意 (看题用了半个小时--) 有 n 个人(编号从 0 到 n-1)玩游戏,要通过投票的方式确定谁输.现在已知有一些人有明确的意见,认为谁输.具体地用一个 vector decision 来描述,vector decision 的大小可能不足 n . 定义一个集合 S 包含一些人,初始的时候集合 S 包含所有人.他们会进行若干轮投票,每一轮中,一…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-500.html SRM500 Div1 500 没想到 double 的精度居然没有爆-- 考虑以一个点为根的分形所涉及的区域是可以用一个矩形表示的.例如整个分形的区域就是 \(x\in [-27,27],y\in [0,81]\) . 如果一个分形被要求的范围全部包含,那么是可以直接推公式求的. 如果一个分形代表的区域与询问区域无交,那么对答案无贡献. 否则就分治 3 个小矩形. 与询问矩形有…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-1000.html SRM500 Div1 1000 设 \(v_1,v_2,\cdots ,v_9\) 分别为一个数中 \(1-9\) 的出现次数. 那么可以列出如下方程组: \[ \begin{eqnarray*} v_1+2v_2+3v_3+\cdots +9v_9 &=& S\\ v_2+2v_4+3v_8+v_6 &=& p_2\\ v_3+v_6+2v_9 &am…
Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*......*pn,我们假设p0,p1,...,pn是单调不降的,那么v里存储的是下标为偶数 的N的质因数p0,p2,p4,...,p(2k).现在要求写一个程序,返回一个vector<long long>ans; ans里存储的是p0,p1,p2,...,pn. Limits Time Limit(m…
题意 [题目链接]这怎么发链接啊..... Sol 枚举一个断点,然后类似于LIS一样dp一波 这个边界条件有点迷啊..fst了两遍... #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 10, INF = 1e9 + 7; inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9') {i…
最近一场TC,做得是在是烂,不过最后challenge阶段用一个随机数据cha了一个明显错误的代码,最后免于暴跌rating,还涨了一点.TC题目质量还是很高的,非常锻炼思维,拓展做题的视野,老老实实补题吧. div2 250pts 题意:判断s去掉一个字符后能否和t一样. 代码: class DecipherabilityEasy { public: string check(string s, string t) { int n = s.size(); int m = t.size(); !…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502-500.html SRM502 Div1 500 好题. 首先,如果已经确定了解决所有问题的优先级,只需要对于每一个问题是否被解决做出决策,那么显然直接 01 背包就好了. 事实上,我们是可以贪心地确定两个问题的优先程度的. 对于两个问题,假设分别为 a 和 b,则先做 a 再紧接着做 b 和先做 b 再紧接着做 a 的收益之差为 \[ \begin{eqnarray*} &&(-dec_a…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502-1000.html SRM502 Div1 1000 题意 从 [0,n-1] 中选择 k 个不同的整数,使得他们的和是 n 的倍数,求方案数.对 \(10^9+7\) 取模. \(n\leq 10^9,k\leq 1000\) 题解 ​ 首先我们考虑从 n 个里面选择 k 个并进行排列的方案数,最终只需要除以 k! 就好了. ​ 设 \(M=n\) : ​ 设 \(f(n,m,t)\) 表示 在…
题目: Problem Statement      We have a cyclic array A of length n. For each valid i, element i-1 the left neighbor of element i. Additionally, element n-1 is the left neighbor of element 0. You are given two vector<long long>s s and t, each with n ele…
挺简单的组合把. #include <cstdio> #include <cstring> #include <iostream> #include <vector> using namespace std; #define LL long long ]; ]; class LittleElephantAndIntervalsDiv1 { public : LL getNumber(int M, vector <int> L, vector &l…