LibreOJ2044 - 「CQOI2016」手机号码】的更多相关文章

Portal Description 给出两个十一位数\(L,R\),求\([L,R]\)内所有满足以下两个条件的数的个数. 出现至少\(3\)个相邻的相同数字: 不能同时出现\(4\)和\(8\). Solution 数位DP. 首先将问题转换成\(solve(R)-solve(L)\)的形式,这样只需要求不超过\(n\)的满足条件的数的个数. 定义\(dp[k][x][f_1][f_2][f_3][f_4]\),其中\(k\)表示位数,\(x\)表示尾数,\(f_1\)表示第\(k\)位与第…
#2044. 「CQOI2016」手机号码 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号码单独出售.为了便于前期规划,运营商希望开发一个工具来自动统计号段中满足特征的号码数量. 工具需要检测的号码特征有两个:号码中要出现…
ref #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; int a[15]; ll u, v, dp[11][11][11][2][2][2][2]; //[算当前剩几位][当前最大可用][上一位是啥][是否slj][上一位是否=上上一位][有无4][有无8] ll f(int now, int lim, int lst…
2042. 「CQOI2016」不同的最小割 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 学过图论的同学都知道最小割的概念:对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点 s,ts, ts,t 不在同一个部分中,则称这个划分是关于 s,ts, ts,t 的割.对于带权图来说,将所有顶点处在不同部分的边的权值相加所得到的值定义为这个割的容量,而 s,ts, ts,t…
Portal Description 给出平面上的\(n(n\leq10^5)\)个整点,求在欧几里得距离下第\(k\)远的点对之间的距离. Solution k-d树+堆. 用小根堆维护当前找到的第\(k\)大,然后以堆顶元素为基准在k-d树上搜索即可.搜索到一个新值\(d\)时,将其与堆顶元素比较,若大于堆顶元素则弹出堆顶并加入\(d\). Code //「CQOI2016」K 远点对 #include <algorithm> #include <cstdio> #includ…
Portal Description 给出三个正整数\(e,N,c(\leq2^{62})\).已知\(N\)能表示成\(p\cdot q\)的形式,其中\(p,q\)为质数.计算\(r=(p-1)(q-1),ed\equiv 1 \pmod r\),求\(c^d \bmod N\). Solution 其实主要就是一件事:分解大数\(N\).这里要用到一个叫做Pollard's Rho的算法,可以在约\(O(n^{\frac{1}{4}})\)的时间复杂度上求出一个\(n\)的因数.具体原理是…
Portal Description 给出一个给出一个\(n(n\leq850)\)个点\(m(m\leq8500)\)条边的无向图.定义\(cut(s,t)\)等于\(s,t\)的最小割的容量,求在所有\(cut(s,t)\)中不同的值有多少个. Solution 有一个我也想不好为什么的性质:若\(s,t\)的最小割将原图划分成\(S,T\)两个集合,那么\(\forall u\in S,v\in T\),有\(cut(u,v)=cut(s,t)\).那么我们可以用分治来做. 对于一个点集\…
「CQOI2016」不同的最小割 传送门 建出最小割树,把每一个点对的最小割抠出来 \(\text{unique}\) 一下就好了. 参考代码: #include <algorithm> #include <cstring> #include <cstdio> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x".out&q…
/* 考虑暴力 可以n ^ 2枚举点对 然后用一个容量为2k的小根堆来维护第k大 kd-tree呢就是来将这个暴力优化, 每次先找远的并且最远距离不如堆顶的话就不继续找下去 貌似挺难构造数据卡的 */ #include<iostream> #include<queue> #include<cmath> #include<cstdio> #include<algorithm> #include<cstring> #define M 10…
题解 可持久化可并堆 用\(f[i,j]\)表示最大的质数标号为i,然后有j个质数乘起来 用\(g[i,j]\)表示\(\sum_{k = 1}^{i}f[k,j]\) 转移是 \(f[i,j] = \sum_{k= 1}^{j} g[i - 1,j - k] * p_{i}^{k}\) \(g[i,j] += f[i,j]\) 这就要资瓷两个集合的合并了 可是集合显然非常大,我们可以用可持久化来帮助完成这件事,就完成了 代码 #include <bits/stdc++.h> #define…
题解 题面太长无法阅读系列-- 这里说的选择改变指的是在下面区间里碰上了一个更长的可匹配的地址,如果可匹配但是匹配长度没有当前的值大,那么不算改变 我们建一个可持久化的trie,查询的时候先在前\(a - 1\)个里找到最长的可以得到的地址 然后再在区间的trie里找到那条链上,如果碰到一个结束点且比我们初始长度大的路径串,就丢进一个栈里,维护栈的递增 最后栈的长度就是答案 代码 #include <bits/stdc++.h> #define enter putchar('\n') #def…
大傻逼trie树,更傻逼的是我这都没独立想出来,以后要少看题解,多多思考 #include <algorithm> #include <iostream> #include <cstdio> #include <vector> using namespace std; int m, cnt, s[20000005][2], now, orz[35], tag[20000005], faq; char ss[15]; struct Node{ int idx,…
CQOI 板子大赛之 pollard rho #include <iostream> #include <cstdio> using namespace std; typedef long long ll; ll e, N, c, jzm, p, q, r, d, n; ll gcd(ll a, ll b){ return !b?a:gcd(b,a%b); } ll mul(ll a, ll b, ll p){ ll re=0; while(b){ if(b&1) re =…
k-d tree 裸题------ #include <algorithm> #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int n, k, rot, nowD, din; ll dui[205]; const ll oo=9e18; struct Point{ int d[2], mn[2], mx[2], l, r; int & operat…
分治+最小割 看到题解的第一句话是这个就秒懂了,然后乱七八糟的错误.越界.RE-- #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <queue> #include <set> using namespace std; int n, m, uu, vv, ww, hea[855], cnt, a[855], s…
目录 写在前面 引入 求解 特判优化 代码 例题 「ZJOI2010」数字计数 「AHOI2009」同类分布 套路题们 「SDOI2014」数数 写在最后 写在前面 19 年前听 zlq 讲课的时候学的东西,当时只会抄板子,现在来重学一波= = 一个板子水一天题(不事 引入 「SCOI2009」Windy 数 给定参数 \(l,r\),求 \([l,r]\) 中不含前导零且相邻两个数字之差至少为 \(2\) 的正整数的个数. \(1\le l\le r\le 2\times 10^9\). 1S…
原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUnit 5 系列:条件测试 我的 Github:http://github.com/linesh-simplicity 上一节我们了解了 JUnit 新的扩展模型,了解了它是如何支持我们向引擎定制一些行为的.然后我还预告会为大家讲解条件测试,这一节主题就是它了. 条件测试,指的是允许我们自定义灵活的标准…
原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Linesh 的博客:「译」JUnit 5 系列:扩展模型(Extension Model) 我的 Github:http://github.com/linesh-simplicity 概述 环境搭建 基础入门 架构体系 扩展模型(Extension Model) 条件断言 注入 动态测试 ... (如果…
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.age); }; return o; } var perso…
维基百科上面对于「智能指针」是这样描述的: 智能指针(英语:Smart pointer)是一种抽象的数据类型.在程序设计中,它通常是经由类型模板(class template)来实做,借由模板(template)来达成泛型,通常借由类型(class)的解构函数来达成自动释放指针所指向的存储器或对象. 简单的来讲,智能指针是一种看上去类似指针的数据类型,只不过它更加智能,懂的完成内存泄露,垃圾回收等一系列看上去很智能的工作.如你所看到的那样,借助 C++ RAII(Resource acquisi…
超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSONP. 现在你想要获取其他网站上的 JavaScript 脚本,你非常高兴的使用 XMLHttpRequest 对象来获取.但是浏览器一点儿也不配合你,无情的弹出了下面的错误信息: XMLHttpRequest cannot load http://x.com/main.dat. No 'Access…
写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉:既可让人明白「为何如此设计」,即「知其然更知其所以然」:也能剥离一些琐碎的细节,让更多没那么多时间与精力.或者背景知识不足的朋友,对核心方法和思路,多一点理解,即,给人提供一种「纲举目张提纲挈领抽丝剥茧」的可能性. 机缘巧合,俺今天就决定抛砖引玉,写一篇不那么好的工程文档.也期望对本文话题感兴趣的朋…
我是擅(倾)长(向)把一篇文章写成杂文的.毕竟,写博客记录生活点滴,比不得发 paper,要求字斟句酌八股结构到位:风格偏杂文一点,也是没人拒稿的.这么说来,arxiv 就好比是 paper 世界的博客,整了篇论文,管他三七二十一,放到 arxiv 上自嗨一番(如果不是自鸣得意的话)再说…… 话说在优酷看了个电影<北京爱情故事>.记得当初电视剧的主题曲满大街放的时候,我还不知道有这么一电视剧:机缘巧合,某次宿舍里见朋友在看,才跟着一起看了两集,觉得不错,不过,之后自己也没再看过.今儿晚上看了同…
记录一个比较基础的东东-- C 语言的指针,一直让人又爱又恨,爱它的人觉得它既灵活又强大,恨它的人觉得它太过于灵活太过于强大以至于容易将人绕晕.最早接触 C 语言,还是在刚进入大学的时候,算起来有好些年头了:我当年做过的一个最糟糕的决定(也是如今回想起来依然觉得很 2B 的决定)也和 C 语言有关(和本文主题无关,略去不表)-- 由此说来,和 C 的缘分还是蛮重的.可惜,今天,我还是在一个关于指针的问题上,小小迷糊了一下-- 曾经还自诩熟读<The C programming language>…
提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter => pypy ## 前两天在写<HTTP 初步探究>时,碰见一个问题,放到了 stackoverflow 上,简单讲,就是对于/#wd=keyword 形式的链接,在 Fiddler 抓包里,并没有看见 wd=keyword 被上传到服务器,但最终,keyword 被正确处理了(HTTP 交互…
目测是个老问题了.随便一搜,网上各种总结过.这里不辞啰嗦,尽量简洁的备忘一下. 几个链接,有道云笔记链接,都是知乎上几个问题的摘录:阮一峰的日志,1-5 还是值得参考,但是之后的部分则混淆了 Windows Unicode 和更广泛意义上的 Unicode 的区别,前者最早是将 UCS-2 标准的编码称作 Unicode,win2k 之后则替换成了 UTF-16LE with BOM,但依然称作是 Unicode,terminology 层面的混淆极易坑人. 另外一个问题:为什么 UTF-8 不…
时不时就会在面试过程中碰到有候选人问 Facebook 是否采用 Scrum 之类的敏捷方法,偶尔也会有中国的朋友问及 Facebook 上线流程.我通常会简单说几句,然后说「如果你真感兴趣的话,去搜索 Chuck Rossi 在 Velocity 2012 San Fancisco 演讲的视频」.无论从 Scrum 的角度来看,还是大多数中国公司的上线流程来看,Facebook 的发布流程都显得很不一样,但其实又非常合理,看完那个视频你就明白了.尽管里面提到的内部工具都没有在 Facebook…
说明:调整 Firemonkey Android 显示文字有「锯齿」效果 适用:Firemonkey Android 平台 修改方法: 请将源码 FMX.FontGlyphs.Android.pas 复制到自己的工程目录里,再进行修改. // 找到这行 FPaint.setAntiAlias(True); // 抗锯齿 // 改成如下 FPaint.setAntiAlias(False); // 锯齿 效果: 上(抗锯齿)FPaint.setAntiAlias(True); 下(锯齿)FPain…
适用:XE6 或更高版本 说明:ListView 在基本的项目里提供了 Accessory(项目右方「>」符号),但要如何分辨是否按下>或者项目本身呢?在 XE6 提供了 OnItemClickEx 事件可以辨识,如下例: procedure TForm1.ListView1ItemClickEx(const Sender: TObject; ItemIndex: Integer; const LocalClickPos: TPointF; const ItemObject: TListIte…
简介参考 TokuMX 和 MongoDB 各自的官方站点.       ##  Tokutek 最重要的特点和 marketing word 是所谓 fractal tree indexing technology,相关链接: 1. 由于 per-node buffer 的引入所导致的 ACID 里的 Durability 问题应对方式(通过更合理的规划物理机器布局.增加单事务数据量等方式来分摊 fsync 开销:更「松弛」的持久化处理,即不要求每次 operation 都做持久化.而是「延迟…