首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据科学如何最大化社交网络影响力?(上)

社交网络早已是我们生活中不可缺少的一部分,更是网络时代营销活动的重点投放渠道;如何使社交网络的影响力最大化,也成了数据科学关注的重点。本期,我们介绍线性阈值模型在影响力最大化问题中的应用~ 在开始阅读本文之前,让我们先来考虑这样一个营销场景:假设你是A公司的销售经理,现在公司研制出一种新型产品,并且你手里有一些试用本,你计划选择一小部分人来免费试用这种产品,从而让他们通过社交网络把这款产品推荐给他们的朋友,再诱导他们的朋友推荐给他们朋友的朋友,以此类推。请问:你如何能知道这部分最初试用者最终可以影响到的最大

08
您找到你想要的搜索结果了吗?
是的
没有找到

Qt编写数据可视化大屏界面电子看板8-调整间距

在数据可视化大屏界面电子看板系统中,前期为了使用目标客户机,调整间距是必不可少的工作,QMainWindow中的QDockWidget,会默认生成布局和QSplitter调整宽高大小,鼠标移动到模块之间的缝隙处,鼠标指针会形成调整大小间距的那种,上下左右拉动就可以调整大小了。Qt的dock默认底部布局是被全部填充的,即一旦产生了底部Dock,则底部的左侧和右侧也属于底部布局,此时需要用setCorner方法来把这个布局给切掉,比如底部布局的左侧部分,可以切掉当做左侧布局使用,setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);底部布局右侧部分,可以切掉当做右侧布局使用,setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);这样左右两侧的布局就有更大的空间来放置窗体了,这样可能更适合大部分的应用场景。如果只是切掉了一部分,比如切掉了右侧,则左侧和中间部分当做底部布局,放置一个长条状的大窗体,也是非常美观的,主要看具体的窗体大小了。

03

OJ刷题记录:L1-206-学霸递情书(15分)

题目要求: 李雷和韩梅梅坐前后排。上课想说话怕老师发现,所以改为传小纸条。为了被老师发现他们纸条上说的是啥,他们约定了如下方法传递信息: 将26个英文字母(全为大写),外加空格,一共27个字符分成三组,每组9个。也就是ABCDEFGHI是第一组,JKLMNOPQR是第二组,STUVWXYZ是第三组(此处用代表空格)。 然后根据传递纸条那天的日期,改变字母的位置 先根据月份数m, 以整个分组为单位进行循环左移,移动(m-1)次。然后根据日期数d,对每个分组内的字符进行循环左移,移动(d-1)次。 例如:以3月8号为例,首先移动分组,3月需要循环左移2次,变成:STUVWXYZ*,ABCDEFGHI,JKLMNOPQR 然后对每组内的字符,8日需要循环左移7次,最终编程: Z*STUVWXY,HIABCDEFG,QRJKLMNOP 对于需要传递信息中的每个字符。用组号和组内序号两个数字来表示。 如果在3月8号需要传递信息为“HAPPY”,那么H位于第2组第1个,A位于第2组第3个…依次类推。所以最终纸条上写成: 21 23 39 39 19 现给定日期和需要传递的信息,请输出应该写在纸条上的编码。 输入 每个输入包含两行。 第一行是用空格分隔的两个数字,分别代表月份和日子。输入保证是一个合法的日期 第二行为需要编码的信息字符串,仅由大写字母A~Z和空格组成,字符串长度不超过1024个字符。 输出 对每个输入,打印对应的编码,数字之间用空格分隔,每个输出占一行。 样例输入 Copy 3 8 HAPPY 样例输出 Copy 21 23 39 39 19

02

Qt编写数据可视化大屏界面电子看板7-窗体浮动

窗体浮动的场景也比较多,用途也比较大,比如视频监控模块,有时候需要调整大小和位置,而不是作为dock嵌入到布局中,一旦嵌入到布局中,大小和位置都被布局接管了,只能任由布局使唤,按在地上摩擦的那种。所以窗体浮动独立出来以后,就可以当做单独的窗体使用了,八个方位任意调整大小,(做到这里,是不是想起来,很多人写的无边框窗体类,自己写代码实现边框的拉伸调整大小?原来Qt也内置类无边框调整大小的位置哈!)同时窗体可以拖动到任意位置,比如可以拖动到中间部位占领一个位置,能够调整到最佳的16:9的大小效果。此时的视频看起来就很爽了,这个效果其实是Qt内置的,我在自定义的标题栏中增加了双击浮动,再次双击最大化显示的功能而已。

03

Qt编写数据可视化大屏界面电子看板6-窗体打开关闭

二级窗体的打开与关闭,这个功能也很有必要,由于整个系统中各种模块数量窗体数量比较多,后期可能还会增加更多,在4K屏幕上可以显示很多的模块,但是有时候有些模块不想显示出来,就需要将该模块关闭掉,直接在二级窗体的标题栏上增加关闭按钮,可能会影响整体的布局,此时提供鼠标右键菜单来控制各个模块的开关,就非常爽了,QDockWidget上场,QMainWindow类中如果有Dock类,则会自动生成右键菜单,自动将加载的窗体的名称生成菜单,前面可以打钩表示开启,没有打钩表示关闭,默认都是开启的,saveState()函数也会记录各个模块最后的开启和关闭状态,所以在应用restoreState()函数时候也会自动控制模块的开关,不得不说Qt在这个功能点上是下足了功夫,封装的非常好非常棒顶呱呱!

05

RTOS 是如何进行任务划分的?

在嵌入式开发中,面对的都是单个 CPU 的情况,而在这个开发过程中,我们会涉及到裸机开发或者是跑操作系统的开发,在裸机开发的过程中,整个系统是以模块的角度来看的,也就是系统在运行完了这个模块之后,再去运行另外一个模块。但是在有操作系统的情况下,我们是把系统处理的一件一件事情以任务的角度来进行划分的,这任务与任务之间是并发执行的。每个任务的运行看起来是独立的,从宏观的角度看是多个任务同时在占据着 CPU 的执行,就像是多 CPU 一样,在真正的多 CPU 系统中,每个 CPU 都有一套自己的寄存器,而为了实现这样一种多 CPU 运行的机制,那么操作系统就为每个任务用一块专用的存储空间构建了一个“虚拟 CPU”,用来保存 CPU 内存各个寄存器的信息,这块专用的存储器空间就是“任务堆栈”,有多少个任务就会有多少个任务堆栈。

01

Qt编写数据可视化大屏界面电子看板4-布局另存

布局另存是数据可视化大屏界面电子看板系统中的额外功能之一,主要用于有时候用户需要在现有布局上做个微调,然后直接将该布局另存为一个布局配置文件使用,可以省略重新新建布局重新来一次大的调整的工作,此功能主要是用到了配置文件的保存,另存为一个不同名字的配置文件即可,属于非常简单的功能,在代码上来讲,其实Qt的配置文件类QSettings使用起来不要太方便,不仅支持WIN的注册表的读取写入,还支持跨平台的INI文件,说白了其实就是个文本文件,个人比较喜欢用INI文件作为配置文件,这样一方面跨平台,本人平时主要在嵌入式linux上做开发,INI文件是做好的选择。

02

Qt编写数据可视化大屏界面电子看板9-曲线效果

为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派、香橙派、全志H3、imx6)展示这么华丽的界面时,就必须用最传统的painter方法来实现所有的控件了,一开始使用的QChart来实现各个子控件,在使用过程中发现比较鸡肋,个人感觉QChart是所有的子模块中源码写的最烂的,本人把QChart的源码看了一遍,比如饼图控件,居然放置一个label用来显示对应的文字描述,都懒得用painter去绘制,而且还有大量的类型转换,这个就效率大大降低了,虽然效果上挺好的,比如继承自QAnimation类自定义的chart动画类,还有个整体换肤的,但是在大量数据展示的时候,卡的一逼,比QWT和QCustomPlot差很远,本人看过QCustomPlot的源码,尽管就一个文件,(其实作者那边肯定是多个文件的,只不过发布的时候合并成一个文件发布的,毕竟这样对于用户来说使用还是很方便的,就是阅读不方便,毕竟大部分人用来是直接使用的而不是研究代码的。)但是里边的代码质量非常好非常高,本人特别推崇用QCustomPlot来展示曲线和柱状图等,效率很高,本人亲自试过最大展示50W数据点,还可以。据朋友所说,可能QWT质量还要更高,我没有研究过QWT的源码,不予置评,估计有可能是的。

04

进程间通信

进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?首先,进程间通信至少可以通过传送、打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里都使用了这种方法。但一般说来,进程间通信(Inter Process Communication,IPC)不包括这种似乎比较低级的通信方法。UNIX系统中实现进程间通信的方法很多,而且不幸的是,极少方法能在所有的UNIX系统中进行移植(唯一一种是半双工的管道,这也是最原始的一种通信方式)。而Linux作为一种新兴的操作系统,几乎支持所有的UNIX下常用的进程间通信方法:管道、消息队列、共享内存、信号量、套接字等。其中,前面4种主要用于同一台机器上的进程间通信,而套接字则主要用于不同机器之间的网络通信。

01
领券