随笔分类 -  模拟

上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 对m个串建立一棵字典树。 然后对主串。 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 (这时又重新从根节点开始重新匹配 每次匹配最多只要往下走50步。 写个递归的过程就好。 【代码】 阅读全文
posted @ 2018-01-23 13:21 AWCXV 阅读(141) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举序列的头两个数字是什么 O(N^2) 然后头两个数字确定之后。 f[3],f[4]..就确定了 只需查看f[3],f[4]..是不是存在就好了。 但是这样复杂度看起来是O(N^3)的了。 其实不然,a[n] = a[n 1] 阅读全文
posted @ 2018-01-23 12:20 AWCXV 阅读(105) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 模拟。 【代码】 cpp include using namespace std; int main(){ ifdef LOCAL_DEFINE freopen("rush_in.txt", "r", stdin); endif 阅读全文
posted @ 2018-01-23 11:51 AWCXV 阅读(101) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 知道题意之后就是一个模拟的过程了。 用int now记录当前苹果的个数。bool flag记录是否有小数(即半个苹果) (这样处理为了防止double精度误差 根据half 和halfplus的规则,变化now和flag即可。 阅读全文
posted @ 2018-01-22 13:56 AWCXV 阅读(128) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 会发现。 进行一次操作过后。 得到的数字肯定是 【代码】 cpp include define ll long long using namespace std; const int N = 1e3; const ll MOD 阅读全文
posted @ 2018-01-21 04:11 AWCXV 阅读(231) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 暴力往前走x分钟就好。 直到出现7为止。 【代码】 cpp include using namespace std; int hh,mm,x,cnt; bool find7(){ if (hh%10==7 || (hh/10)= 阅读全文
posted @ 2018-01-20 08:47 AWCXV 阅读(322) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 感觉最大度数|1就是最多需要的个数了。 就贪心一下。 然后模拟染色的过程就可以了。 (贪心染色就可以了 (看看周围哪个颜色没有,就用它) k在dfs之前忘记判断是不是奇数了。。。。 以及忘记清空g 【代码】 cpp includ 阅读全文
posted @ 2018-01-10 13:27 AWCXV 阅读(170) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 可以考虑把所有的题目按照ai排序。 然后顺序考虑最后做出来的题目个数和第i道题目的ai一样。 则1..i 1这些题目就没有用了。 值考虑i..n这些题目就可以了。 显然考虑ti最小的若干项。 使得它们的时间和=i的题目(只要枚举 阅读全文
posted @ 2018-01-09 10:12 AWCXV 阅读(193) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 写个dfs看看是不是每个节点都有3个叶子节点就可以了。 【代码】 cpp include using namespace std; const int N = 1e3; int n; vector g[N+10]; bool o 阅读全文
posted @ 2018-01-09 09:50 AWCXV 阅读(111) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 让你把排列1..n变换成对应的输入序列。 每次可以交换前两个数字,或者把第一个数字放到末尾去。 可以逆向考虑。 即把无序的序列变换成有序的. 则第二种操作就变为"把末尾的数字放到最前面去" 则可以这样。 如果a[0] a[1] 阅读全文
posted @ 2018-01-08 16:44 AWCXV 阅读(157) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 考虑删掉第i位。 则第i+1位就会取代第i位。 则肯定第i+1位比第i位大的话,才比较好。 则从小到大贪心删,找到第一个a[i+1] a[i]的i. 然后每次删掉这样的i就可以了。 【代码】 cpp / 1.Shoud it u 阅读全文
posted @ 2018-01-07 14:42 AWCXV 阅读(154) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 统计需要的个数。 不够了,就买。 【代码】 cpp include define ll long long using namespace std; ll a,b,x,y,z,ta,tb; int main(){ ifdef L 阅读全文
posted @ 2018-01-06 10:41 AWCXV 阅读(154) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 set1 set1;记录关键点 某个人怪物永远打不死了,第一维是时间,第二维是下标 int dic[1e5+10] //记录对应下标的怪物它此时此刻在何时打不死了 set2 set2;关键点2 有怪物要更新了的时间点,以及记录的 阅读全文
posted @ 2018-01-06 10:31 AWCXV 阅读(434) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 字符串排序后 显然是n/2 1和n/2这两个字符串进行比较。 设为a,b 找到第一个不相同的位置。 即0..i 1是相同的前缀,然后第i位不一样了。 则如果i是a的最后一位了。 那么直接输出a就好。 这样满足大于等于a且小于b 阅读全文
posted @ 2018-01-05 15:27 AWCXV 阅读(147) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举第一段的范围[0..i] (0 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourse 阅读全文
posted @ 2018-01-04 21:24 AWCXV 阅读(138) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 从大到小安排。 显然想让第i大的数字归位 只要让他翻到最上面,然后再翻回来就ok了 即operate(pos[i]) operate(i) 【代码】 cpp / 1.Shoud it use long long ? 2.Have 阅读全文
posted @ 2018-01-02 16:56 AWCXV 阅读(122) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 IDA 保证这次移动的方格不和前一次重复。 然后加一个8数码的剪枝就行了。 看看当前状态和目标状态有多少个地方是不一样的。 如果当前的步数加上它仍然比答案大。 显然可以剪枝。 因为不同的数目肯定小于等于要移动的数目; (每次移动 阅读全文
posted @ 2018-01-01 19:24 AWCXV 阅读(302) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 枚举最大层数。(也即改变的数字个数 然后枚举第一个改哪个数字,第二个改哪个数字。。 一定要注意字典序问题。 每次优先改成较小的字典序(也即顺序枚举 然后注意这个字符不改的情况。 不要算改变数。 最后改完之后。 只 阅读全文
posted @ 2018-01-01 12:00 AWCXV 阅读(313) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先预处理出来一个正方形。 然后每次枚举新加的正方形左上角的坐标就可以。 注意覆盖的规则,控制一下就可以。 然后暴力判断是否相同。 暴力回溯即可(只用回溯一个正方形区域) 【代码】 cpp / 1.Shoud it use lon 阅读全文
posted @ 2017-12-31 17:28 AWCXV 阅读(163) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举前i 1个圆。 哪些圆和它相交。 取圆心纵坐标最大的那个圆就可以了。 【代码】 cpp include using namespace std; const int N = 1e3; vector now; int a[N+ 阅读全文
posted @ 2017-12-30 10:54 AWCXV 阅读(196) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页