const

CF集萃1

早过忘川 提交于 2020-03-17 13:41:22
因为cf上一堆水题,每个单独开一篇博客感觉不太好,就直接放一起好了。 CF1096D Easy Problem 给定字符串,每个位置删除要代价。求最小代价使之不含子序列"hard"。 设f[i][f]表示前i个删到只匹配f位子序列的最小代价。转移看代码吧。O(n) 1 #include <bits/stdc++.h> 2 3 typedef long long LL; 4 const int N = 100010; 5 6 int a[N]; 7 LL f[N][5]; 8 char str[N]; 9 10 int main() { 11 int n; 12 scanf("%d", &n); 13 scanf("%s", str + 1); 14 for(int i = 1; i <= n; i++) scanf("%d", &a[i]); 15 16 int tag = 0; 17 for(int i = 1; i <= n; i++) { 18 if(tag == 0 && str[i] == 'h') tag++; 19 if(tag == 1 && str[i] == 'a') tag++; 20 if(tag == 2 && str[i] == 'r') tag++; 21 if(tag == 3 && str[i] == 'd') tag++; 22 } 23 if

Keep Windows Forms Singleton via Mutex key word

百般思念 提交于 2020-03-17 13:03:37
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication3 { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); const string appName = "WindowsFormsApplication3"; bool createdNew; Mutex mut = new Mutex(true, appName, out createdNew); if (!createdNew) { MessageBox.Show($"WindowsFormsApplication3 is already

理解 rxjs 中的 subject

烂漫一生 提交于 2020-03-17 12:52:32
某厂面试归来,发现自己落伍了!>>> 已经学习了很久的 angular 了,rxjs 中的操作数也有很多都打过了照面,subject 也已经可以仿着别人的栗子,能写个大概的轮廓了,可是我真的理解了、掌握了 rxjs 中的 subject 吗? 以前有人告诉过我:在生活中学到的所有东西中,真正让人难以忘怀的就是我们教给其他人的东西。所以现在就把它慢慢整理出来,如果没有理解透彻 subject 的你看到了,很开心你会有所收获; 背景:为什么我们需要 subject ? 理解 hot Observable 和 cold observable hot Observable: 每次被 subscribe 都会产生一个全新的数据序列数据流;(创建类操作符、interval、range);也就是虽然对一个 Observable 做了多次 subscribe, 但是对于每一个 Observer, 其实都有一个独立的数据流在喂着,数据并不是真正来自于同一个源头;也就是不同订阅者的订阅实则是相互独立,互不干扰的;比如下面这个例子: const source$ = interval(500).pipe(take(3)); const observerA = { next: value => console.log('A' + value), error: error => console.log('A'

C++string容器详解

懵懂的女人 提交于 2020-03-17 12:38:02
3.1 string容器 3.1.1 string基本概念 本质: string是C++风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string 类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责 3.1.2 string构造函数 构造函数原型: string(); //创建一个空的字符串 例如: string str; string(const char* s); //使用字符串s初始化 string(const string& str); //使用一个string对象初始化另一个string对象 string(int n, char c); //使用n个字符c初始化 示例: #include <string> //string构造 void test01() { string s1; //创建空字符串,调用无参构造函数 cout << "str1 = " << s1 << endl; const char* str = "hello world"; string s2

雷达图的一种实现! Cocos Creator !

北城余情 提交于 2020-03-17 11:54:26
某厂面试归来,发现自己落伍了!>>> 支持定义任意多个属性值,简单好用!文章底部获取完整代码! 如何使用 新建一个节点 为节点添加 graphics 组件 添加用户脚本 radar 调整对应参数 实现原理 需求可以转化成如何画一个有特点的多边形。 先观察一下,雷达图的每个属性有什么特点。 可以看到每个属性值,都是在固定虚线上移动。 而且每条线的夹角都是一样的。这个夹角就是 360度 除以 总共属性数量 。 const radians_per = Math.PI * 2 / this.side_count; 所以我们可以按照属性次序确定与 x轴 的夹角。如果我们把第一个属性值放在 y轴 ,那么初始角度为 90 。 // 初始边放在y轴,多90度 const radians = side_i * radians_per + Math.PI / 2; 虚线的长度可以由总长度和需要的百分比求出。 const side_length = this.side_max_length * percent; 接着根据极坐标到直角坐标系的转换,就能求出该属性的坐标。 // 坐标计算 x = r * cos y = r * sin const posX = side_length * Math.cos(radians); const posY = side_length * Math.sin

vue-router实现路由懒加载

懵懂的女人 提交于 2020-03-17 11:52:22
当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载. 1、定义   也叫延迟加载,即在需要的时候进行加载,随用随载 2、为什么需要   像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时,进入首页不用一次加载过多资源造成用时过长。 3、如何实现? (1)第一种写法:使用 AMD 风格的 require,于是就更简单了: 例:const Foo = resolve => require(['./Foo.vue'], resolve) const routers = [ { path: '/', name: 'index', component: (resolve) => require(['./views/index.vue'], resolve) } ] (2)第二种写法:(使用import) 例:component: ()

输入:“get1_install2_app3_list4_by5_android6”(每个单词后面总会携带一个数字,只有偶数才删掉)我不用循环只用正则怎么实现输出

做~自己de王妃 提交于 2020-03-17 07:51:24
问题:输入:“get1_install2_app3_list4_by5_android6”(每个单词后面总会携带一个数字,只有偶数才删掉)我不用循环只用正则怎么实现输出"get1InstallApp3ListBy5Android"? let str = 'get1_install2_app3_list4_by5_android6' const reg = /(\B(?=(_)?)[02468]?)/g const res = str.replace(reg, '') console.log('打印str', res) let str = 'get1_install2_app3_list4_by5_android6' const reg = /(\B(?=(_)?)[02468]?)/g const res = str.replace(reg, '') console.log('打印str', res) // 打印str get_install_app3_list_by5_android 来源: https://www.cnblogs.com/liea/p/12508382.html

Linux System Programming 学习笔记(八) 文件和目录管理

…衆ロ難τιáo~ 提交于 2020-03-17 07:15:39
1. 文件和元数据 每个文件都是通过inode引用 ,每个inode索引节点都具有文件系统中唯一的inode number 一个inode索引节点是存储在Linux文件系统的磁盘介质上的物理对象,也是LInux内核通过数据结构表示的实体 inode存储相关联文件的元数据 ls -i 命令获取文件的inode number /* obtaining the metadata of a file */ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat (const char *path, struct stat *buf); int fstat (int fd, struct stat *buf); int lstat (const char *path, struct stat *buf); 注意:lstat函数可以获取 符号链接的文件元数据,lstat() returns information about the link itself and not the target file struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode

Should I not pass an interface as const?

喜你入骨 提交于 2020-03-17 07:13:10
问题 I recently came across (again) the Delphi compiler code-gen bug when passing an interface as const leaks a reference. This happens if your method is declared to pass an interface variable as const , e.g.: procedure Frob(const Grob: IGrobber); and the fix is to simply remove the const : procedure Frob(Grob: IGrobber); I understand that const (and var , and out ) allow you to pass items by reference . In the case of a structure this saves an argument copy; letting you instead simply pass the

Should I not pass an interface as const?

岁酱吖の 提交于 2020-03-17 07:11:32
问题 I recently came across (again) the Delphi compiler code-gen bug when passing an interface as const leaks a reference. This happens if your method is declared to pass an interface variable as const , e.g.: procedure Frob(const Grob: IGrobber); and the fix is to simply remove the const : procedure Frob(Grob: IGrobber); I understand that const (and var , and out ) allow you to pass items by reference . In the case of a structure this saves an argument copy; letting you instead simply pass the