include

POJ 2083

十年热恋 提交于 2020-03-12 08:17:38
# include <cstdio> # include <iostream> # include <algorithm> # include <cmath> # include <vector> # include <set> # include <cstring> # include <sstream> # include <map> # include <stack> # include <queue> # include <ctime> # include <cstdlib> using namespace std ; char Answer [ 730 ] [ 730 ] ; char getAnswer ( int n , int ci , int cj ) ; void fill_ ( int n , int ci , int cj ) { if ( n == 1 ) { Answer [ ci ] [ cj ] = 'X' ; return ; } getAnswer ( n , ci , cj ) ; } char getAnswer ( int n , int ci , int cj ) { int len = pow ( 3 , n - 2 ) ; fill_ ( n - 1 , ci , cj ) ; //左 fill_ ( n - 1 , ci , cj

Electric Charges CodeForces - 623C (二分答案)

佐手、 提交于 2020-03-12 07:39:31
大意: 平面上n个点每个点坐标为(x,0)或(0,y), 求任意两点距离平方最大值的最小值. 二分答案, 转化为判定最大值是否<=e, 按$x$排序后, 因为固定左端点, $y$绝对值的最大值是跟右端点单调的, 滑动一个长度平方不超过e的区间, 同时保证右端点$x$的绝对值不超过左端点, 这样对于左端点在$x$轴的情况一定是最优的, 同样再固定右端点倒序处理正半轴的情况. #include <iostream> #include <random> #include <algorithm> #include <cstdio> #include <math.h> #include <set> #include <map> #include <queue> #include <string> #include <string.h> #include <bitset> #define REP(i,a,n) for(int i=a;i<=n;++i) #define PER(i,a,n) for(int i=n;i>=a;--i) #define hr putchar(10) #define pb push_back #define lc (o<<1) #define rc (lc|1) #define mid ((l+r)>>1) #define ls lc,l,mid #define

ZOJ2112 Dynamic Rankings(整体二分)

廉价感情. 提交于 2020-03-12 07:35:12
今天学习了一个奇技淫巧--整体二分。关于整体二分的一些理论性的东西,可以参见XRH的《浅谈数据结构题的几个非经典解法》。然后下面是一些个人的心得体会吧,写下来希望加深一下自己的理解,或者如果有人看了或许也有些帮助。 ZOJ2112是一道典型的带修改的区间第k大的问题,有一些树套树等的数据结构可以在线处理这样的问题。但是当题目并不要求在线处理的时候,其实我们可以选择一下整体二分的思想。 个人对整体二分的理解是这样子的,首先对于修改,即把a[xi]=yi(1<=yi<=C)的时候,我们可以把修改的操作划分成两部分,一部分是yi<=mid,另一部分是yi>mid。首先我们忽略掉yi>mid的操作,将yi<=mid以及询问操作按照输入的顺序执行一遍,这样我们就可以知道<=mid的操作对所有询问的贡献,接下来我们就要根据贡献对修改操作划分成两部分,一部分是答案在<=mid里面的,另外一部分是答案在>mid里面的,对于<=mid的,显然我们可以递归求解(因为>mid的操作对那些<=mid是没有影响的),而对于>mid的来说,<=mid的操作是有影响的,但是<=mid所造成的影响已经算过一遍了,所以对于>mid的来说,其实也是独立的。所以如果我们把答案二分的范围的大小设为C,操作的总数设为n,那么划分到<=mid的操作是n1,>mid的操作是n2时(n1+n2=n) 有 T(n,C)=T(n1

django 中namespace的问题

江枫思渺然 提交于 2020-03-12 05:57:45
在早期的django版本中 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^polls/', include('polls.urls', namespace="polls")), ] 而我现在使用的是django2.2.3这样写就会出现错误 'Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.' 另外我使用的是path()函数而不是url()函数,再经查看include()函数源代码如下 def include(arg, namespace=None): app_name = None if isinstance(arg, tuple): # Callable returning a namespace hint. try: urlconf_module, app_name = arg except ValueError: if namespace: raise

EM算法-混合高斯模型

安稳与你 提交于 2020-03-11 17:16:24
最近在学EM算法,看到大佬写的博客很好,我仅转载:https://blog.csdn.net/coldnoble/article/details/41625911?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158390483919725211958727%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158390483919725211958727&biz_id=0&utm_source=distribute.pc_search_result.none-task 最近在看李航的《统计学习方法》一书,关于EM算法部分收集了些资料进行了学习,做了些混合高斯的模拟,下面分三个部分介绍下相关内容:1)EM算法原理,2)混合高斯推导,3)相关代码和结果 一、EM算法原理 EM算法推导中一个重要的概念是 Jensen 不等式 。 其表述为:如果 为凸函数( ), 则有 , 当且仅当 的时候不等式两边等号才成立。 如果概率模型只针对观测样本 ,那么根据 的观测值,可以通过极大似然或贝叶斯估计法估计其参数 。但是,如果概率模型不仅包含观测样本 ,还含有隐变量 (无法观测其值),这时就需要EM算法来估计隐 变量 和 观测样本

C++ 线程 获取线程id

本秂侑毒 提交于 2020-03-11 16:30:46
#include "stdafx.h" #include <iostream> #include <thread> #include <string> #include <chrono> #include <mutex> #include <windows.h> using namespace std; std::mutex g_display_mutex; void foo() { std::thread::id this_id = std::this_thread::get_id(); unsigned int t = *(unsigned int*)&this_id;// threadid 转成 unsigned int unsigned int threadid = t; g_display_mutex.lock(); std::cout << "thread" << this_id << " sleeping...\n"; std::cout << "t = " << threadid << endl; g_display_mutex.unlock(); std::this_thread::sleep_for(std::chrono::seconds(1)); } int main() { std::thread t1(foo); std::thread t2(foo);

C语言中的神兽strdup

混江龙づ霸主 提交于 2020-03-11 16:24:21
  C语言的确博大精深,在C语言的世界中遨游了那么多年,发现自己仍是菜鸟一枚,很多利器没有能够驾驭,今天介绍一个神兽,威力无比,但是却很少人能用得好。 函数原型: #include <string.h> char *strdup(const char *s); 函数介绍:   strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函数成对出现。 strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。该函数的返回值是返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值。 函数实现: char * __strdup(const char *s) { size_t len = strlen(s) +1; void *new = malloc(len); if (new == NULL) return NULL; return (char *)memecpy(new,s,len); } 函数实战: #include <syslib.h> #include<string.h> int main(void) { char *src =”This is the strdup test”; char *dest; dest = strdup(s); printf(

蓝桥杯嵌入式第十届省赛程序

最后都变了- 提交于 2020-03-11 14:00:34
第十届赛题程序部分较为简单,客观题相对较难。主要会用adc+led即可ok,本科组甚至没有用到EEPROM(本代码加入此功能将led灯信息,上下阈值存入EEPROM,reset后数据不丢失) 先看目录 初始化函数 头文件: 初始化程序 #include "stm32f10x.h" #include "lcd.h" #include "init.h" #include "i2c.h" void GPIO_Int(void) { GPIO_InitTypeDef GPIO_InitStructure; ADC_InitTypeDef ADC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC| RCC_APB2Periph_GPIOD, ENABLE); //led GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10| GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_13 | GPIO_Pin_14| GPIO_Pin

PHP自动加载机制

守給你的承諾、 提交于 2020-03-11 13:18:51
一、require / include 最初的文件加载机制是require/include把一个文件加载进来,但是随着开发规模的增大,复杂性也越来越高,可能造成 遗漏或者冗余 ,因此在PHP5版本进入自动加载机制(autoload) require ( "/var/www/Person.php" ) $per = new Person ( ) //或者 include ( "/var/www/Person.php" ) $per = new Person ( ) 二、PHP 自动加载函数 __autoload() 在new一个class时,PHP系统如果找不到这个类,就会去自动调用本文件中的__autoload($classname)方法,去require对应路径的类文件,从而实现自动lazy加载,但是现在已经弃用。 首先同目录新建一个Person类 <?php class Person { public function hello ( ) { echo "hello" ; } } <?php function __autoload ( $classname ) { $classpath = "./" . $classname . '.php' ; if ( file_exists ( $classpath ) ) { require_once ( $classpath ) ;

GCC命令

浪尽此生 提交于 2020-03-11 13:18:01
多数UNIX平台都通过CC调用它们的C编译程序.除标准和CC以外,LINUX和FREEBSD还支持gcc. 基本的编译命令有以下几种: -c 编译产生对象文件(*.obj)而不链接成可执行文件,当编译几个独立的模块,而待以后由链接程序把它们链接在一起时,就可以使用这个选项,如: $cc -c hello.c ===> hello.o $cc hello.o 2. -o 允许用户指定输出文件名,如 $cc hello.c -o hello.o or $cc hello.c -o hello 3. -g 指明编译程序在编译的输出中应产生调试信息.这个调试信息使源代码和变量名引用在调试程序中或者当程序异常退出后在分析core文件时可被使用. $cc -c -g hello.c 4. -D 允许从编译程序命令行定义宏符号 一共有两种情况:一种是用-DMACRO,相当于在程序中使用#define MACRO,另一种是用-DMACRO=A,相当于程序中的#define MACRO A.如对下面这代码: #ifdefine DEBUG printf(“debug message\n”); #endif 编译时可加上-DDEBUG=1参数,执行程序则打印出编译信息 gcc -o -DDEBUG=1 -DCHANDLKE -DTANZHOU printf printf.c 5. -I