dpl

Use rle to group by runs when using dplyr

匿名 (未验证) 提交于 2019-12-03 01:23:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: In R, I want to summarize my data after grouping it based on the runs of a variable x (aka each group of the data corresponds to a subset of the data where consecutive x values are the same). For instance, consider the following data frame, where I want to compute the average y value within each run of x : (dat In this example, the x variable has runs of length 3, then 2, then 1, and finally 1, taking values 1, 2, 1, and 2 in those four runs. The corresponding means of y in those groups are 2, 4.5, 6, and 7. It is easy to carry out this

Ordering dataframe using Rcpp & Dplyr

匿名 (未验证) 提交于 2019-12-03 00:46:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: first post on this forum so feel free to go easy :-) I am trying to sort a dataframe using Rcpp/dplyr. Based on an earlier post from Romain - the idea is to use the OrderVisitor class as explained in this post. order a dataframe by column in Rcpp My problem is I cannot compile the MyFunc code below as defined in above post. C++: enter code here #include <Rcpp.h> #include <dplyr.h> using namespace Rcpp; using namespace dplyr; // [[Rcpp::export]] // [[Rcpp::depends(dplyr)]] DataFrame myFunc(DataFrame data, CharacterVector names) {

P1273 有线电视网

匿名 (未验证) 提交于 2019-12-02 23:56:01
题面 https://www.luogu.org/problem/P1273 题解 #include <cstdio> #include <vector> #include <cstring> #include <iostream> using namespace std ; int n , m , k , w [ 3050 ], v , siz [ 3050 ]; vector <int> to [ 3050 ]; long long f [ 3050 ][ 3050 ]; struct node { int bro , son ; } tree [ 3050 ]; const long long inf = 5e16 ; void maketree ( int x , int fa ) { int i , l = to [ x ]. size (), t ; for ( i = 0 ; i < l ; i ++) if ( to [ x ][ i ]!= fa ) { if ( tree [ x ]. son == 0 ) { tree [ x ]. son = to [ x ][ i ]; maketree ( to [ x ][ i ], x ); } else { t = tree [ x ]. son ; while ( tree [ t ]. bro != 0 ) t

P1273 有线电视网

核能气质少年 提交于 2019-11-28 20:55:39
题面 https://www.luogu.org/problem/P1273 题解 #include<cstdio> #include<vector> #include<cstring> #include<iostream> using namespace std; int n,m,k,w[3050],v,siz[3050]; vector<int> to[3050]; long long f[3050][3050]; struct node{ int bro,son; } tree[3050]; const long long inf=5e16; void maketree(int x,int fa) { int i,l=to[x].size(),t; for (i=0;i<l;i++) if (to[x][i]!=fa) { if (tree[x].son==0) { tree[x].son=to[x][i]; maketree(to[x][i],x); } else { t=tree[x].son; while (tree[t].bro!=0) t=tree[t].bro; tree[t].bro=to[x][i]; maketree(to[x][i],x); } } } void treesum(int x){ if (x>=n-m+1) siz[x]=1; else

P4095 [HEOI2013]Eden 的新背包问题

北城以北 提交于 2019-11-27 10:14:09
P4095 [HEOI2013]Eden 的新背包问题 题解 既然假定第 i 个物品不可以选,那么我们就设置两个数组 dpl[][] 正序选前i个物品,dpr[][] 倒序选前i个物品 ,价格不超过 j 的最大价值 然后正着反着跑 多重背包 最后答案考虑 i 之前的物品的价格和 i 之后的物品的价格,转移如下: 代码 #include<bits/stdc++.h> using namespace std; inline int read() { int ans=0; char last=' ',ch=getchar(); while(ch<'0'||ch>'9') last=ch,ch=getchar(); while(ch>='0'&&ch<='9') ans=ans*10+ch-'0',ch=getchar(); if(last=='-') ans=-ans; return ans; } int n,q,d,e,ans=0; int dpl[1005][1005],dpr[1005][1005]; //dpl[][]正序选前i个物品,dpr[][]倒序选前i个物品 struct node{ int a,b,c; }thing[1005]; void pre() //多重背包 { for(int i=1;i<=n;i++) //正序背包 { for(int j=0;j<=1000

保护模式特权级概述

ε祈祈猫儿з 提交于 2019-11-26 20:22:07
在IA32的操作系统中,段被分为了4个特权级,分别为0-3级,有时候我们也叫做ring0-ring3,其中,数值越小特权级越高。如下图所示: 图中,核心代码和数据所在的段的特权级都比较高,一般在ring0,而用户程序所在的段的特权级较低,一般在ring3。当低特权级的任务试图在未被允许的情况下访问高特权级的段时,将会产生常规保护错误。 而处理器是如何区分所在段的特权级,进而对其进行保护的呢?这就不得不提到CPL、DPL和RPL三者了。但是在开始之前,我们需要先了解一下一致代码段和非一致代码段。 一致代码段和非一致代码段 在操作系统中,我们有些高特权级的代码是希望被低特权级的程序所访问的,比如一些库函数,于是我们将这些高特权级代码放在一个叫做一致代码段的段里。而有些高特权级的代码,我们并不想让低特权级的程序所访问,于是我们把他们放在一个叫做非一致代码段的段里。具体来说,当通过call或者jmp指令转移到其它段时(即访问其他段),当转移的目标是一个优先级更高的一致代码段时,我们是可以进行访问的,但是当前的特权级会被延续下去;当转移的目标是一个优先级更高的非一致代码段时,这时的访问会引起常规保护错误(除非使用调用门或任务门)。 总结来说: 一致代码段:由系统(高特权级)共享给低特权级的程序的代码所在的段,主要有下面两点限制: 高特权级程序不能访问低特权级的数据