经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C++

算法第三章实践报告

7-1数字三角形 1.实践题目 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。   2.问题描述 输入格式: 输入有n+1行: 第 1 行是数字三角形的行...[2018/12/3]

[bzoj1116][POI2008][CLO]

题目链接 思路 可以先考虑一棵树 如图,如果是一棵树我们肯定会想这样子做,但是现在根没有入度。所以现在需要再加入一条边使他变成基环树。 假如现在加入一条边\(3-2\),那就会出现一个3-1-2-3的环。然后以这个环上的点为根,就可以找到很多棵满足条件的树 可以发现,这样就解决了根没有入度的问题...[2018/12/3]

洛谷P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)

题意 题目链接 Sol 打出暴力不难发现时间复杂度的瓶颈在于求\(\sum_{i = 1}^n i^k\) 老祖宗告诉我们,这东西是个\(k\)次多项式,插一插就行了 luogu-judger-enable-o2 #include<bit tdc++.h> using nam...[2018/12/3]

C++强大背后

C++强大背后

在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with cla es,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-or...[2018/11/30]

C++的特点

C和C++ C主要是应用在在驱动层,是面向过程的编程语言,对类型的定义不是很严格。C++主要是应用与应用层,是C语言的一个加强版,可以完全兼容C语言,并且还有很多C语言不具备的特性,如,C++是一种面向对象的编程语言,C++的设计目标是:运行效率和开发效率的统一C++更加强调语言的实用性,可以在任...[2018/11/30]

11.29

TheChernoProject 1. Unions in C++ 2. C++ Header Files 3. Templates in C++ 4. Lambdas in C++ 5. Function Pointers in C++ 6. Virtual Destructors i...[2018/11/30]

BZOJ1014: [JSOI2008]火星人prefix(splay 二分 hash)

题意 题目链接 Sol 一眼splay + 二分hash,不过区间splay怎么写来着呀 试着写了两个小时发现死活不对 看了一下yyb的代码发现自己根本就不会splay。。。。 luogu-judger-enable-o2 #include<bit tdc++.h> #de...[2018/11/30]

BZOJ4011: [HNOI2015]落忆枫音(dp 乘法原理)

题意 题目链接 Sol 非常妙的一道题 设\(inder[i]\)表示\(i\)号节点的度数 首先如果是个DAG的话,可以考虑在每个点的入边中选一条边作为树形图上的边,这样\(ans = \prod_{i > 1} inder[i]\) 如果加入一条边的话,算答案的时候可能会把一些环...[2018/11/30]

洛谷P4717 【模板】快速沃尔什变换(FWT)

洛谷P4717 【模板】快速沃尔什变换(FWT)

题意 题目链接 Sol 背板子背板子 #include<bit tdc++.h> using namespace std; const int MAXN = (1 << 17) + 10, mod = 998244353, inv2 = 499122177; inlin...[2018/11/30]

BZOJ4589: Hard Nim(FWT 快速幂)

题意 题目链接 Sol 神仙题Orzzzz 题目可以转化为从\(\leqslant M\)的质数中选出\(N\)个\(xor\)和为\(0\)的方案数 这样就好做多了 设\(f(x) = [x \text{是质数}]\) \(n\)次异或FWT即可 快速幂优化一下,中间不用IFWT,最...[2018/11/30]

VS2015中不同开发环境设置转换(C#-&gt;C++等)

VS2015中不同开发环境设置转换(C#-&gt;C++等)

backup VS2015 社区版(Community)下载地址: 迅雷下载:ed2k: |file|cn_visual_studio_community_2015_x86_dvd_6847368.iso|4013920256|EB7F6605EDE67509E218E29173AC6574|/...[2018/11/29]

BZOJ4698: Sdoi2008 Sandy的卡片(二分 hash)

题意 题目链接 Sol 用什么后缀数组啊 直接差分之后 二分+hash找最长公共子串就赢了啊。。。 时间复杂度:\(O(nlogn)\)(不过我写的是两个log。。反正也能过) luogu-judger-enable-o2 #include<bit tdc++.h> #de...[2018/11/29]

BZOJ4698: Sdoi2008 Sandy的卡片(后缀数组 二分)

题意 题目链接 Sol 不要问我为什么发两篇blog,就是为了骗访问量 后缀数组的也比较好想,先把所有位置差分,然后在height数组中二分就行了 数据好水啊 luogu-judger-enable-o2 #include<bit tdc++.h> using namesp...[2018/11/29]

01背包、完全背包模板

1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const int maxn=510,maxw=510; 5 int w[maxn],v[maxw],a[maxw]; 6 int...[2018/11/29]

洛谷P3763 [TJOI2017]DNA(后缀数组 RMQ)

题意 题目链接 Sol 这题打死我也不会想到后缀数组的,应该会全程想AC自动机之类的吧 但知道这题能用后缀数组做之后应该就不是那么难了 首先把\(S\)和\(S0\)拼到一起跑,求出Height数组 暴力枚举每个后缀是否能成为答案。 具体来说,每次比较当前后缀和\(S_0\)的lcp,如...[2018/11/29]

BZOJ4516: [Sdoi2016]生成魔咒(后缀数组 set RMQ)

题意 题目链接 Sol 毒瘤SDOI 终于有一道我会做的题啦qwq 首先,本质不同的子串的个数 $ = \frac{n(n + 1)}{2} - \sum height[i]$ 把原串翻转过来,每次就相当于添加一个后缀 然后直接用set xjb维护一下前驱后继就行了 时间复杂度:\(O(...[2018/11/29]

洛谷P4716 【模板】最小树形图(朱刘算法)

题意 题目链接 Sol 朱刘算法?感觉又是一种神仙贪心算法 大概就是每次贪心的用每个点边权最小的入边更新答案,如果不行的话就缩起来找其他的边 不详细说了,丢链接走人.. #include<bit tdc++.h> using namespace std; const int M...[2018/11/29]

洛谷P2792 [JSOI2008]小店购物(最小树形图)

题意 题目链接 Sol 一开始的思路:新建一个虚点向每个点连边,再加上题面中给出的边,边权均为大小*需要购买的数量 然后发现死活都过不去 看了题解才发现题目中有个细节——买了\(A\)就可以买\(B\),但是人家没告诉你必须买够\(A\)的数量才能买\(B\)呀qwqqqqqqq 所以建图...[2018/11/29]

C++拷贝构造函数 的理解

#include <iostream> using namespace std; 拷贝构造函数的理解 cla Point { public: Point(); Point(int X, int Y); ~Point(); Point(Point ...[2018/11/28]

基于C++11实现线程池的工作原理

目录 基于C++11实现线程池的工作原理. start() 、stop() addTask()、PriorityTaskQueue 1、主程序当前没有任务要执行,线程池中的任务队列为空闲状态. 2、主程序添加小于等于线程池中线程数量的任务. 3、主程序添加任务数量大于当前线程池中线程数量的任务. ...[2018/11/28]

Redis那些事(一) — Redis简介

Redis那些事(一) — Redis简介

      本人最近在学习Redis的使用和底层原理,有一些收获,所以希望通过写博客的形式来记录自己的学习过程,加深自己的理解,同时也方便以后查阅复习。目前打算先记录一些基本的使用方法和部分底层实现,其他的如果有用到我再贴上来。文章内容是我根据自己的理解和参考网上的资...[2018/11/28]

BZOJ3527: [Zjoi2014]力(FFT)

题意 题目链接 Sol 直接把\(q_i\)除掉 那么\(E_j = \sum_{i = 1}^{j - 1} q_i \frac{1}{(i - j)^2} - \sum_{i = j + 1}^n q_i \frac{1}{(i - j)^2}\) 设\(f_i = q_i, g_i =...[2018/11/28]

c/c++ 多线程 等待一次性事件 异常处理

多线程 等待一次性事件 异常处理 背景:假设某个future在等待另一个线程结束,但是在被future等待的线程里发生了异常(throw一个异常A),这时怎么处理。 结果:假设发生了上面的场景,则在调用future的get方法时,就会得到被future等待的线程抛出的异常A。 3种情况: 1,std...[2018/11/28]

引用折叠和完美转发

阅读本文需要具有的预备知识: 左值和右值的基本概念 模板推导的基本规则 若无特殊说明,本文中的大写字母T泛指任意的数据类型 引用折叠 我们把 引用折叠 拆解为 引用和 折叠 两个短语来解释。 首先,引用的意思众所周知,当我们使用某个对象的别名的时候就好像直接使用了该对象,这也就是引用的...[2018/11/28]

51nod 1135 原根(原根)

题意 题目链接 Sol 可以证明素数的原根不会超过他的\(\frac{1}{4}\) 那么预处理出\(P - 1\)的所有的质因数\(p_1, p_2 \dots p_k\),暴力判断一下,如果$\exists i, a^{\frac{P - 1}{p_i}} \equiv 1 \pmod {...[2018/11/28]

[算法]浅谈求n范围以内的质数(素数)

[算法]浅谈求n范围以内的质数(素数)

汗颜,数学符号表达今天才学会呀-_-# 下面是百度百科对质数的定义 质数(prime number)又称素数,有无限个。 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 求质数的方法自然不少,但主要还是有三大方法,它们运用在不同的领域,根据数据也会变化; 1、...[2018/11/28]

BZOJ3992: [SDOI2015]序列统计(NTT 原根 生成函数)

题意 题目链接 给出大小为\(S\)的集合,从中选出\(N\)个数,满足他们的乘积\(\% M = X\)的方案数 Sol 神仙题Orz 首先不难列出最裸的dp方程,设\(f[i][j]\)表示选了\(i\)个数,他们的乘积为\(j\)的方案数 设\(g[k] = [\exists a_i...[2018/11/28]

BZOJ1898: [Zjoi2005]Swamp 沼泽鳄鱼(矩阵快速幂)

题意 题目链接 Sol 不难发现吃人鱼的运动每\(12s\)一个周期 所以暴力建12个矩阵,放在一起快速幂即可 最后余下的部分暴力乘 #include<bit tdc++.h> using namespace std; const int MAXN = 52, mod = 10...[2018/11/28]

BZOJ2882: 工艺(后缀数组)

题意 题目链接 Sol 直接把序列复制一遍 后缀数组即可 在前\(N\)个位置中取\(rak\)最小的输出 #include<bit tdc++.h> using namespace std; const int MAXN = 1e6 + 10; inline int read...[2018/11/28]

[luogu1552][派遣]

[luogu1552][派遣]

题目链接 思路 首先肯定要树形dp,一直没想到怎么用左偏树。如果不断弹出又不断地合并复杂度不就太高了。瞄了眼题解才知道可以直接用大根树。然后记录出当前这棵左偏树的大小(树里面所有点的薪水之和)以及点的个数。然后不断的删点。直到薪水满足条件为止。 代码 #include<iostream>...[2018/11/28]

c/c++ 多线程 多个线程等待同一个线程的一次性事件

多线程 多个线程等待一个线程的一次性事件 背景:从多个线程访问同一个std::future,也就是多个线程都在等待同一个线程的结果,这时怎么处理。 办法:由于std::future只能被调用一次get方法,也就是只能被某一个线程等待(同步)一次,不支持被多个线程等待。所以std::sharted_f...[2018/11/28]

STL中栈stack的用法

头文件: #include <stack> 建立一个栈stack < 类型 > s 例如 stack<int> s 加入一个新的元素s.push( a ) 询问栈顶元素s.top() 弹出栈顶元素s.pop() 栈里面有多少个元素s.size() [2018/11/28]

利用gsoap库封装易用的rest框架

c++缺少web开发的框架,web框架分为异步和同步,异步的业务逻辑控制需要较强功底,同步代码实现起来容易,利于阅读理解   1.gsoap是c++写的webservice库,webservice应用层也是用http进行传输的,gsoap提供了httpget和httppost的插件,...[2018/11/25]

vs2013+opencv3.2配置

vs2013+opencv3.2配置

  opencv库在3.0以后分为opencv库和opencv_contrib库两部分,其中opencv_contrib库是一个扩展库,如果需要使用SIFT和SURF算法就需要安装这个扩展库,否则只用安装opencv库即可。   对于vs2015、vs2017这样的高版本vs有现成的编译好的o...[2018/11/25]

noip2018游记

noip2018游记

day 0 SD的比赛地点在昌邑,考场有两个,一个是昌邑一中,另一个是某职业学校(忘记名字了) 然后我成功抽签抽到了某职业学校的考点,导致每天都得坐大巴去。 当天晚上,一开始不让外出住,后来就莫名的可以了。 试机的时候,发车延迟了,我到了大巴车的地方并且上了车,才发现上到了普及的车,结果就是...[2018/11/25]

BZOJ1270[BJWC2008]雷涛的小猫

雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的)。在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了。 可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆… 在北京大学的校园里,有...[2018/11/25]

字符串全排列

void AllSortCore(char *str,int begin,int end); void AllSort(char *str) { if(str == NULL) return ; int n = strlen(str); AllSortCo...[2018/11/25]

Ceres配置(vs2013+Win10)

主要参考文:Ceres Solver 在Windows下安装配置笔记     eigen、gflags、glog、suitesparse按照上面的链接中的指导配置即可。   配置ceres的时候,按照上面的链接内容配置,在点击configure后会出现在findeigen.c...[2018/11/25]

【原创】自己手写实现Boost序列化简易版

设计思路   在与多个系统进行网络交互时,序列化是不可缺少的技术。编写一个C++语言的序列化实现,是练习运用模板元编程的绝佳案例,理解C++模板是如何"面向编译期编程"的(业内好像没有这个说法)。序列化对象处理基础数据类型和类类型,boost的序列化功能划分得更细致,基本支持了C++语...[2018/11/25]

c/c++ 多线程 等待一次性事件 packaged_task用法

多线程 等待一次性事件 packaged_task用法 背景:不是很明白,不知道为了解决什么业务场景,感觉std::asynck可以优雅的搞定一切,一次等待性事件,为什么还有个packaged_task。 用法:和std::async一样,也能够返回std::future,通过调用get_futur...[2018/11/25]

顺序输出一个整数的各位数字

从高位开始逐位输出一个整数的各位数字:输入一个整数,从高位开始逐位分割并输出它的各位数字。 #include<stdio.h> int main(void) { int i,j,m,n,s,k,a,b=0; scanf("%d",&m); k=m; do { m...[2018/11/25]

逻辑运算符号

逻辑运算符号

"∧" 表示逻辑与,英语·为”and“; "∨" 表示逻辑或,英语为”or“; "┐"表示逻辑非,英语为”not”; ”⊕“表示逻辑异或,英语为”xor“。[2018/11/25]

【数据结构与算法】二叉树——哈夫曼编码

最近有很多的小朋友问我什么是哈夫曼编码,哈夫曼编码是一种可变字长的编码,那什么是可变字长呢?就是一句话里的每一个字符(ASCII码)它的位数(长度)是不一样的。就像我们一句话(AAAACCCCCDDDDBBE)有A,B,C,D,E五种字符,在这里我们可以用01表示A字符,用001表示B字符,用11...[2018/11/25]

c/c++ 多线程 等待一次性事件 std::promise用法

多线程 等待一次性事件 std::promise用法 背景:不是很明白,不知道为了解决什么业务场景,感觉std::async可以优雅的搞定一切的一次等待性事件,为什么还有个std::promise。 用法:和std::async一样,也能够返回std::future,通过调用get_future方法...[2018/11/25]

迷宫自动生成以及基于DFS的自动寻路算法

直接贴代码 #include<ctime> #include<conio.h> #include<iostream> #include<windows.h> #include<deque> #include<queue> ...[2018/11/23]

关于C++中字符串输入get与getline的区别

关于C++中字符串输入get与getline的区别

  最近使用C++中自己老是忘记的一个点,get与getline的区别。 1、get与getline   get和getline所属iostream类,作用是读取一整行,通过换行符确定读取结束,他们都可以读取空格。 2、get与getline区别   getline会在读取结束后舍弃换行符,而...[2018/11/23]

C++ volatile关键字(转)

文章来源: http: hedengcheng.com/?p=725 https: www.cnblogs.com/god-of-death/p/7852394.html 1、基本概念 volatile:易变的,易失的 C++中使用该关键字修饰的变量,也是体现的“易变”特性。 2、vola...[2018/11/22]

c/c++ 多线程 等待一次性事件 future概念

多线程 等待一次性事件 future概念 背景:有时候,一个线程只等待另一个线程一次,而且需要它等待的线程的返回值。 案例:滴滴叫车时,点完了叫车按钮后,叫车的后台线程就启动了,去通知周围的出租车。这时,用户就可以去干别的了,而且用户只等待叫车的线程一次就够了,也就是有出租车应答了,这个等待就结束了...[2018/11/20]

C++ RAII特性

C++作为一门Native Langueages,在C++98/03时代,资源管理是个大问题。而内存管理又是其中最大的问题。申请的堆内存需要手动分配和释放,为了确保内存正确释放,一般原则是"谁分配谁负责释放",但软件工程的复杂性、程序员的编码水平参差不齐等仍然导致内存泄漏、空悬指针等问题。严重的内...[2018/11/20]

C++学习笔记——C++简介

1.C++发展史 C++语言来源于C语言,在C语言的基础上增加了面向对象设计的要素从而得到了发展。 1979 年,C++ 是由 Bjarne Stroustrup在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C+...[2018/11/20]

336
55
记录数:3035 页数:54/61首页上一页49505152535455565758下一页尾页
 友情链接:直通硅谷  点职佳  北美留学生论坛
加载更多

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号